Vraag : C++ programma

Ik moet a. c. ++- programma schrijven dat tot een consoletoepassing zal leiden die één enkel bevel-lijn argument goedkeurt. De toepassing moet bevestigen dat het één precies bevel-lijn argument heeft. Als het geen bevel-lijn argument, of meer dan één bevel-lijn argument ontvangt, moet de toepassing een gebruiksbericht erop wijzen tonen die dat precies één het bevel-lijn argument wordt verwacht en de toepassing moet dan onmiddellijk weggaan. Als één het bevel-lijn argument wordt verstrekt, moet de toepassing dat argument in omgekeerde tonen. Als het bevel-lijn argument om het even welke cijfers (0 door 9) bevat, moet elk dergelijk cijfer in zijn overeenkomstige Engelse naamlezing in correcte orde van links naar rechts worden vertaald die, door een ruimtekarakter wordt gevolgd. Bijvoorbeeld, als het bevel-lijn argument „abc123def“ is het getoonde koord moet „fedThree Twee zijn Één cba“ u het gebruik van geen functies wordt toegelaten van de koordomkering die beschikbaar zouden kunnen zijn aan u in welk taalbibliotheek ook te uwer beschikking is; d.w.z. moet u het koord omkeren zelf.

Antwoord : C++ programma

Schijnt een thuiswerk… Als zo, gelieve te verwachten niet om in EE iemand te vinden om een code te creëren om het voorgestelde probleem op te lossen. Maar zonder twijfel kunnen wij youn door providngrichtingen op helpen hoe te om het door zich op te lossen.

Het eerste ding moet begrijpen hoe te om de argumenten te vangen.
In C/C++ gebruiken wij de eenvoudige code hieronder:
     int. leiding (int. argc, klusje ** argv)
waar argc het aantal argumenten is.
Het telt de naam van het programma, zodat als de gebruiker enkel het programma begint zonder enig argument over te gaan, argc aan gelijk zal zijn. Als u de code hieronder gebruikt:
     printf („heeft het \- nThisprogramma %d argumenten \ n“, argc);
en stel het programma zonder enig argument in werking, zal het resultaat zijn
    Dit programma heeft argumenten 1
Als u wilt controleren als er argumenten zijn, controleer enkel als argc > 1 is.
Als zo, kunt u het tweede argument die (de naam van het programma veronderstellen als eerste) drukken door te gebruiken:

   als (argc == 2)
    {
        printf (het „argument is %s \ n“, argv [1]);
    }
Waarom argv [1 gebruiken] om het argument te drukken? Omdat argv een serie van koorden, is en u wilt het argument drukken. Als u de naam van het programma wilt drukken, welke is de index tussen de steunen?
Goed, weet u het hoe te om te bepalen als er één en enkel één argument… is
Het drukken kunt u koos „c“ printf (zoals in de steekproef hierboven) of „c++“ cout.

Nu, hoe te als in omgekeerde orde te drukken?

Om het te doen, moet u een neet over koorden, eigenlijk klusjesseries in C. meer bestuderen.
Bij dit onderwerp, ben ik niet zeer zeker als u met AnsiString os char* moet werken. Voor eenvoud, zal ik voorstellen om char* te gebruiken

Aangezien een klusjesserie iets als is
    klusje *str = „a1B“;
zijnd streptokok [0] = 'a', streptokok [1] = ' 1 ', etc., toen als u a voor lijn, als maakt
    voor (int. i=0; ithen het zal drukken
a
1
B

Als u de lijn in omgekeerde maakt die, namelijk, het staren met bij laatste karakter en het finisshing bij de eerste tellen, zou de lijn zijn
   voor (i=length-1; i>=0; i--)
aldus zullen de klusjes in omgekeerde orde worden geplukt…

Om uw oefening te voltooien, om de numerieke karakters te substitueren, kunt u een opeenvolging zoals in hieronder pseudocode gebruiken
  foreach CH in streptokok (in omgekeerde orde)
  {
     als (CH == „1“) druk 'Één“
     als anders (CH == „2“) druk „Twee“
     enz.
  }

of gebruik de schakelaar:
 {
     schakelaar (CH)
     {
     geval „1“: druk „Één“; onderbreking;
     geval „2“: …. enz.
     gebrek: druk CH;
     }
  }

Jose

Andere oplossingen  
 
programming4us programming4us