Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Puffer säubern?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.09.2008, 20:32 Uhr
~Toni
Gast


Hallo!

Habe folgendes Programm geschrieben, das eine Liste von Namen einlesen und alphabetisch ausgeben soll.
Leider nimmt es nach der Eingabe der Liste keine weitere Eingabe mehr entgegen.
Legt es am Puffer?

Vielen Dank für Eure Hilfe schonmal im Voraus!


C++:


#include <iostream>
#include <string.h>

using namespace std;

int main()
{
    int i, j, k, opt;
    char namen[100][30], temp[30];
    
    
         do
         {
                     for(i=0; i<100; i++)
                              for(k=0; k<30; k++)
                                       namen[i][k] = '\0';
                    
                    
                     cout << "Bitte bestätigen Sie jeden eingegebenen Namen mit <Enter>\n"
                             "und beenden die Eingabe mit Strg-Z und <Enter>.\n\n";
                            
                     for(i=0; i < 99 && (*namen[i-1] != EOF); i++)
                              cin.getline(namen[i], 30 , '\n');
                    
                     cout << "\nFolgende Optionen stehen Ihnen zur Verfügung:\n"
                             "(1) Neue Liste eingeben\n"
                             "(2) Liste unsortiert ausgeben\n"
                             "(3) Liste alphabetisch sortiert ausgeben\n"
                             "(4) Programm verlassen\n\n";

                     cin.ignore(10,'\n');
                     cin >> opt;
                            
                     switch(opt)
                     {
                                case(2):
                                        for(i = 0; namen[i][0]; i++)
                                              cout << namen[i] << "\n";
                                        cout << "\n\n";
                                        break;
                                        
                                case(3):
                                        for(i = 0; namen[i][0]; i++);              // Bis erstes Nullzeichen-Feld scannen
                                        
                                        
                                        while(i+1)
                                        {
                                              for (k = i; k + 1 > 0; k--)
                                              {
                                                  if(strcmp(namen[i], namen[i+1]) > 0)
                                                  {
                                                           strcpy(temp, namen[i]);
                                                           strcpy(namen[i], namen[i + 1]);
                                                           strcpy(namen[i + 1], temp);
                                                  }  
                                              }
                                              
                                              i--;
                                        }    
                                        
                                        for(i = 0; namen[i][0]; i++)
                                              cout << namen[i] << "\n";
                                        cout << "\n\n";
                                        break;
                     }
                                        
    
         }while(opt != 4);                            
                            
                            
         cout << "Auf Wiedersehen!\n\n";
         system("pause");
         return 0;
}          
                                        
                                        


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: