Fråga : C++-program

Jag behöver att skriva program för A.C. ++ att ska skapa en tröstaapplikation som accepterar en singel befalla-fodrar argument. Applikationen måste bekräfta att den har exakt en befalla-att fodra argument. Om den mottar inget befalla-fodrar argument, eller mer än, ett befalla-fodra argumentet, applikationen måste visa ett användningmeddelande som indikerar att exakt man befalla-fodrar argument förväntas och applikationen måste därefter gå ut omgående. Om man befalla-fodrar, argumentet ges, applikationen måste visa det argument i omvänt. Om detfodra argumentet innehåller några siffror (0 till och med 9), varje sådan siffra måste översättas in i dess motsvarande engelska som känd läsning i korrekt från vänster till höger beställer, följt av ett utrymmetecken. Till exempel om detfodra argumentet är ”, visad abc123def-” stränga måste vara ”fedThree två en cba,” som du inte tillåts bruket av några stränger omsvängning fungerar den styrka är tillgänglig till dig i, allt vad språkarkiv är på ditt förfogande; du dvs. måste vända om stränga dig. " klar "

Svar : C++-program

Verkar en läxa…, Behaga förväntar inte att finna i ee någon som skapar en kodifiera för att lösa det föreslagna problemet, om så. Men for sure oss kan hjälpa youn vid providngriktningar på hur man löser den av dig.

Det första tinget är att förstå hur till tillfångatagandet argumenten.
I C/C++ som vi använder det enkelt, kodifiera nedanfört:
     huvudsaklig int (int-argc, rödingen ** argv)
var argc är numrera av argument.
Den räknar det känt av programet, så, om användaren startar precis programet, utan att passera något argument, ska argc är jämbördig till en. Om du använder den nedanföra kodifiera:
     printf (”\ nThisprogramet har %d-argument \ n”, argc);
och kört programet utan något argument, det ska resultatet är
    Detta program har argument 1
Om du önskar att kontrollera, om det finns argument, kontrollera precis, om argc är > 1.
Om så, du kan skriva ut understödjaargumentet (som antar programet som är känt som första) genom att använda:

   om (argc== 2)
    {
        printf (”argumentet är %s \ n”, argv [1]);
    }
Why att använda argv [1] för att skriva ut argumentet? Därför att argv är, en samling av stränger, och du önskar att skriva ut argumentet. Om du önskar att skriva ut, det kända programet, som är indexet mellan, sätter inom parantes?
Välla fram, du vet hur man bestämmer, om det finns ett och precis ett argument…,
Att att skriva det ut som du kan, valde ”c” couten för printf (som i ta prov över) eller ”c++-”.

Nu hur man skrivar ut, om i omvänt beställa?

Att göra det du behöver studien som en nit om stränger mer, bränner till kol faktiskt samlingar i C.
I detta betvinga, I-förmiddagen inte mycket sure, om du behöver att fungera med AnsiString OS-char*. För enkelhet jag ska föreslår för att använda char*

Som en rödingsamling är något något liknande
    röding*str = ”a1B”;
vara str [0] = ”a”, str [1] = ' 1 ', och så vidare, därefter, om du gör a för att kretsa, att gilla
    för (int i=0; ithen den ska trycket
a
1
B

Om du gör kretsa i omvänt räkna, något att säga och att stirra med äntligen teckenet och finisshing på första, kretsa skulle är
   för (i=length-1; i>=0; i--)
således de ska rödingarna väljs i omvänt beställer…,

Att avsluta ditt öva, för att ersätta de numeriska teckenen dig kan använda en ordna som i den nedanföra pseudocoden
  foreach ch i str (i omvänt beställa),
  {
     om (ch-== ”1”) tryck 'ett”,
     annars, om (ch-== ”2”) tryck ”två”,
     etc.
  }

eller använd koppla:
 {
     koppla (ch)
     {
     case ”1”: skriv ut ”en”; avbrott;
     fall ”2”: …., etc.
     standard: tryck ch;
     }
  }

Jose

Andra lösningar  
 
programming4us programming4us