Formatierung!!!



  • Hi und zwar habe ich "immer" das Problem, dass ich die Formatierung nicht richtig hinbekomme. Das heißt komma unter Komma.

    Ich weiß das ich ein Header namens iomanip benötige und setprecision(x) und
    setiosflags(ios::fixed) bzw. zum Ausgeben des Wertes in der Variable setw(x);

    Nun mein Code:

    #include <cstdlib>
    #include <iostream>
    #include <conioex.h>
    #include <string>
    #include <time.h>
    #include <windows.h>
    #include <iomanip>
    
    using namespace std;
    
    struct temp
    {
           string name;
           int alter;
           float gehalt;
    };
    
    temp feld[3];
    int auswahl;
    
    void name();
    void alter();
    void gehalt();
    
    int main(int argc, char *argv[])
    {
    
        do
        {
    
        setprecision(2);
        setiosflags(ios::fixed);         
    
        system("cls");         
    
        cout << "\t\t\t\t";
        cout << "Menue";
    
        cout << "\n\n\n\n\n";
    
        cout << "\n\t\t Nach Name                    <1>";
        cout << "\n\n\t\t Nach Alter                   <2>";
        cout << "\n\n\t\t Nach Gehalt                  <3>";
        cout << "\n\n\t\t Ende                         <0>";
    
        cout << "\n\n\n";
        cout << "\n\n\t\t Eingabe: ";
        cin >> auswahl;
    
        switch(auswahl)
        {
                       case 1: {
                                name();
                                break;
                                } 
    
                       case 2: {
                                alter();
                                break;
                                }       
    
                       case 3: {
                                gehalt();
                                break;
                                }            
       };
    
       }
       while(auswahl!=0); 
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    //////////////////////////////////Name/////////////////////////////////////////////////////////
    void name()
    {
    
      system("cls");
    
                  for(int x=0; x<3; x++)
                  {
                       cout << x+1 << " Name: ";
                       cin >> feld[x].name;
                       cout << x+1 << " Alter: ";
                       cin >> feld[x].alter;
                       cout << x+1 << " Gehalt: ";
                       cin >> feld[x].gehalt;
                       cout << "\n\n\n";
                  }
    
      for(int y=0; y<3; y++)
      {
            for(int j=0; j<(3-1); j++)
            {
                    if(feld[j].name > feld[j+1].name)
                    {
                                    ////////Name////////////////////
                                    string temp_name = feld[j].name;
                                    feld[j].name = feld[j+1].name;
                                    feld[j+1].name = temp_name ;
                                    /////////Alter/////////////////
                                    int temp_alter = feld[j].alter;
                                    feld[j].alter = feld[j+1].alter;
                                    feld[j+1].alter = temp_alter ;
                                    /////////Gehalt/////////////////
                                    float temp_gehalt = feld[j].gehalt;
                                    feld[j].gehalt = feld[j+1].gehalt;
                                    feld[j+1].gehalt = temp_gehalt ;
                    }
            }
    
      }
    
      system("cls");
    
      gotoxy(35,2);
      cout << "Ausgabe"; 
    
      gotoxy(9,10);
      cout << "Name";
       gotoxy(32,10);
      cout << "Alter";
       gotoxy(55,10);
      cout << "Gehalt";
    
      for(int x=0; x<3; x++)
      {
      cout << "\n\n";        
      setprecision(2);
      setiosflags(ios::fixed);       
      cout << setw(12) << feld[x].name << setw(24) << feld[x].alter << setw(25) << feld[x].gehalt;
      } 
    
      Sleep(9000);
    
    }
    
    //////////////////////////////////Alter/////////////////////////////////////////////////////////
    void alter()
    {
     system("cls");
    
                  for(int x=0; x<3; x++)
                  {
                       cout << x+1 << " Name: ";
                       cin >> feld[x].name;
                       cout << x+1 << " Alter: ";
                       cin >> feld[x].alter;
                       cout << x+1 << " Gehalt: ";
                       cin >> feld[x].gehalt;
                       cout << "\n\n\n";
                  }
    
      for(int y=0; y<3; y++)
      {
            for(int j=0; j<(3-1); j++)
            {
                    if(feld[j].alter > feld[j+1].alter)
                    {
                                    ////////Name////////////////////
                                    string temp_name = feld[j].name;
                                    feld[j].name = feld[j+1].name;
                                    feld[j+1].name = temp_name ;
                                    /////////Alter/////////////////
                                    int temp_alter = feld[j].alter;
                                    feld[j].alter = feld[j+1].alter;
                                    feld[j+1].alter = temp_alter ;
                                    /////////Gehalt/////////////////
                                    float temp_gehalt = feld[j].gehalt;
                                    feld[j].gehalt = feld[j+1].gehalt;
                                    feld[j+1].gehalt = temp_gehalt ;
                    }
            }
    
      }
    
      system("cls");
    
      gotoxy(35,2);
      cout << "Ausgabe"; 
    
      gotoxy(9,10);
      cout << "Alter";
       gotoxy(33,10);
      cout << "Name";
       gotoxy(55,10);
      cout << "Gehalt";
    
      for(int x=0; x<3; x++)
      {
      cout << "\n\n";        
      setprecision(2);
      setiosflags(ios::fixed);            
      cout << setw(12)<< feld[x].alter << setw(24) << feld[x].name << setw(25) << feld[x].gehalt;
    
      } 
    
      Sleep(9000);
    }
    
    //////////////////////////////////Gehalt/////////////////////////////////////////////////////////
    void gehalt()
    {
     system("cls");
    
                  for(int x=0; x<3; x++)
                  {
                       cout << x+1 << " Name: ";
                       cin >> feld[x].name;
                       cout << x+1 << " Alter: ";
                       cin >> feld[x].alter;
                       cout << x+1 << " Gehalt: ";
                       cin >> feld[x].gehalt;
                       cout << "\n\n\n";
                  }
    
      for(int y=0; y<3; y++)
      {
            for(int j=0; j<(3-1); j++)
            {
                    if(feld[j].gehalt < feld[j+1].gehalt)
                    {
                                    ////////Name////////////////////
                                    string temp_name = feld[j].name;
                                    feld[j].name = feld[j+1].name;
                                    feld[j+1].name = temp_name ;
                                    /////////Alter/////////////////
                                    int temp_alter = feld[j].alter;
                                    feld[j].alter = feld[j+1].alter;
                                    feld[j+1].alter = temp_alter ;
                                    /////////Gehalt/////////////////
                                    float temp_gehalt = feld[j].gehalt;
                                    feld[j].gehalt = feld[j+1].gehalt;
                                    feld[j+1].gehalt = temp_gehalt ;
                    }
            }
    
      }
    
      system("cls");
    
      gotoxy(35,2);
      cout << "Ausgabe"; 
    
      gotoxy(9,10);
      cout << "Gehalt";
       gotoxy(33,10);
      cout << "Name";
       gotoxy(55,10);
      cout << "Alter";
    
      for(int x=0; x<3; x++)
      {
      cout << "\n\n";        
      setprecision(2);
      setiosflags(ios::fixed);            
      cout << setw(12) << feld[x].gehalt << setw(24) << feld[x].name << setw(25) << feld[x].alter;
      } 
    
      Sleep(9000);
    }
    

    Ich hoffe ihr könnt mir weiterhelfen!!!



  • Wenn du deinen Post ins richtige Format bringst hilft dir vielleicht auch jemand...



  • Du mußt "setprecision(2);" und "setiosflags(ios::fixed);" direkt vor der Ausgabe der Floatzahlen schreiben (und natürlich in den Stream "cout"), also

    cout << setw(12) << feld[x].name << setw(24) << feld[x].alter;
    cout << setw(25) << setprecision(2) << setiosflags(ios::fixed) << feld[x].gehalt;
    

    P.S. Das Sortieren solltest du als eigene Funktion implementieren (du kannst z.B. std::sort dafür aufrufen)


Anmelden zum Antworten