Thread: hey need help with a welcome screen

  1. #1
    Registered User
    Join Date
    Apr 2009
    Posts
    6

    hey need help with a welcome screen

    hey guys i got a homework (which i have to submit today)in which we had to create an agenda which consisted of the person entering his name, address, age,.etc and then, the agenfda had a menu which had options to find the user by his anema nd .etc, this is my code check it out. im still learning ansi c, so a lot of people will tell me he why dont you use pointers, we still havent learned at the institue.
    Code:
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<string.h>
    struct listado{
           char nombre[15];
           char apellidos[25];
           int edad;
           int phone;
           char DNI[20];
           char direcion[60];
           };
    void busqueda(struct listado agenda[],int cantidad);
    void mostrar(struct listado agenda[],int cantidad);
    main()
    {
          int i,contact,opcion;
          struct listado agenda[20];
          char sal;
          do
          {
                 system("cls");
                 printf("******AGEND..........****");
                 printf("Menu Principal\n");
                 printf("1: Introducir los datos.\n");
                 printf("2: Buscar los datos.\n");
                 printf("3: Ver todos los contactos.\n");
                 printf("4: Salir.\n\n");
                 printf("Introdusca la opcion que desea realizar:");
                 scanf("%d",&opcion);
          switch(opcion)
          {
          case 1:
          system("cls");
          printf(".\n");
          printf("Cuantos contactos quieres introducir?:");
          scanf("%d",&contact);
          for(i=0;i<ca;i++){
                            printf("Contacto # %d \n",i+1);
                            printf("Introducir el Nombre:");    
                            scanf("%s",&agenda[i].nombre);
                            printf("Introducir  Apellidos:");    
                            scanf("%s",&agenda[i].apellidos);
                            printf("Introducir Edad:");  
                            scanf("%d",&agenda[i].edad);fflush(stdin);
                            printf("Introducir Telefono:");    
                            scanf("%d",&agenda[i].phone);fflush(stdin);
                            printf("Introducir DNI:");    
                            scanf("%s",&agenda[i].DNI);
                            printf("Introducir Direccion:");    
                            scanf("%s",&agenda[i].direcion);
                            system("cls");
                            }
          break;
          case 2:
          busqueda(agenda,ca);
          break;
        
          case 3:
          mostrar(agenda,ca);    
          break;
          
          case 4:
          system("cls");
          printf("Quieres salir?(S/N)");
          sal=getch();
          break;
          }
          }while(sal!='s');
          getch();
          system("cls");
          printf("*************************Gracias por usar la agenda.****************************\n");
          getch();
    }
    //Definicion de las funciones
    void busqueda(struct listado agenda[],int cantidad)
    {
         char opcion;
         int x,t,k,d;
         char cade[15];
         system("cls");
         printf("Introdusca la referencia de busqueda:");
         scanf("%s",&cade);
         system("cls");
         for(k=0,x=0;x<cantidad;x++){
                                     if(strcmp(agenda[x].nombre, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s %s \nEdad:%d  \nTelefono:%d \nDNI: %s\nDireccion: %s \n",agenda[x].nombre,agenda[x].apellidos,agenda[x].edad,agenda[x].phone,agenda[x].DNI,agenda[x].direcion);      
                                     printf("***************************************************\n");
                                     }
                                     else if (strcmp(agenda[x].DNI, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s %s \nEdad:%d  \nTelefono:%d \nDNI: %s\nDireccion: %s \n",agenda[x].nombre,agenda[x].apellidos,agenda[x].edad,agenda[x].phone,agenda[x].DNI,agenda[x].direcion);      
                                     printf("***************************************************\n");
                                     }
                                     }
        if(k==0)
        {
                printf("La referencia no existe.");
                }                            
        getch();
        system("cls");
    }    
    //Definicion de la 2da funcion
    void mostrar(struct listado agenda[],int cantidad)
    {
         int i;  
         system("cls");      
         printf("Los contactos almacenados son:\n");
         for(i=0;i<cantidad;i++){
                               printf("Nombre:%s %s \nEdad:%d  \nTelefono:%d \nDNI:%s\nDireccion:%s \n",agenda[i].nombre,agenda[i].apellidos,agenda[i].edad,agenda[i].phone,agenda[i].DNI,agenda[i].direcion);      
                               printf("***************************************************\n");
                               }
         getch();
    }

    ok its in spanish sorry for that but what basically im looking for is a nice welcome screen like the one i have attached below,so whenever i start the program im presented with this screen and then at the end i would like another screen to say adios.
    but i dont know how to do that if you guys coudl help me out. thanks a lot for reading.

    and if you can find some bugs please let me know.
    Last edited by garry_b; 04-26-2009 at 10:31 PM.

  2. #2
    Registered User
    Join Date
    Sep 2006
    Posts
    8,868
    A simple banner can look OK:

    Code:
    ***********************************************************************
    ***********************************************************************
    
                            *****    Welcome    ***** 
    
    ***********************************************************************
    ***********************************************************************
    Center the "Welcome" on the screen, and note that it has 3 blank rows between the innermost rows of stars, with "Welcome" on the middle of the three rows.

    On an 80 char line width, put the 'c' in "Welcome", right on the 40th column.

    Giving it some color is a great idea, as well, but more complicated.

  3. #3
    Registered User
    Join Date
    Apr 2009
    Posts
    6
    ok so finally someone gets what im trying to say thanks a lot for posting hey but the main problem is i dont know how can you pso the code in please.

  4. #4
    Registered User
    Join Date
    Sep 2006
    Posts
    8,868
    Of course, all my little programs have banners for the first page.

    I chose something with stars because I saw things like this in your code:
    Code:
     printf("*************************Gracias por usar la agenda.****************************\n");
    I don't know what I can tell you about printing up a row of stars, that you don't already know.

    I had 2 rows of stars, with no blank rows between them, then 3 blank rows, with "***** Welcome *****" centered on it, just like I said, with the 'c' on the middle column of the screen. Followed by two more rows of stars, just like the top 2 rows, with no blank rows between them.

    You should have no problem with the code for this, and can do it as well as I or anyone else.

  5. #5
    Registered User
    Join Date
    Apr 2009
    Posts
    6
    printf("****************************************** *****************************\n");
    printf("****************************************** *****************************\n");
    printf("\n");
    printf(" ***** Welcome ***** \n");
    printf("\n");
    printf("****************************************** *****************************\n");
    printf("****************************************** *****************************\n");


    ok i wrote it but ok how do i firs show this message and then i press enter and go to the menu because write now it shwos me everything together like the last pic but i want it toto show me first the message adn then when i press enter the menu.

  6. #6
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    Code:
    print_welcome_screen();
    getchar();
    print_menu();

  7. #7
    Registered User
    Join Date
    Apr 2009
    Posts
    6
    Code:
          printf(".\n");
          printf("how many contacts do you want to add?:");
          scanf("%f",&contacto);
          for(i=0;i<contacto;i++){
                            printf("El contacto numero %f es:\n",i+1);
                            printf("Introducir el Nombre:");    
                            scanf("%s",&agenda[i].nombre);
                            printf("Introducir  Apellidos:");    
                            scanf("%s",&agenda[i].apellidos);
                            printf("Introducir Edad:");   
                            scanf("%d",&agenda[i].edad);fflush(stdin);
                            printf("Introducir Telefono:");    
                            scanf("%d",&agenda[i].phone);fflush(stdin);
                            printf("Introducir DNI:");    
                            scanf("%s",&agenda[i].DNI);
                            printf("Introducir Direccion:");    
                            scanf("%s",&agenda[i].direcion);
                            system("cls");
                            }
                            if(contacto == c)
                            {
                                        printf("error");
                                        }
    ok on the code above im getting an error when it asks how many contacts i want to add even if i type in a name it gets it and keeps on doing it ,
    i want it to just get numbers. what should i do.

  8. #8
    Registered User
    Join Date
    Apr 2009
    Posts
    6
    please can someone help

  9. #9
    Registered User
    Join Date
    Sep 2006
    Posts
    8,868
    contacto should be an int. You can't compare an int with a float and make sense of it, without some "normalizing" complexities you don't even need. (or want!).

    And no one ever contacted 1.34 persons, for a business meetings.

  10. #10
    Registered User
    Join Date
    Apr 2009
    Posts
    6
    LOL TRUE
    but still i have the same error its for e.g
    ok when you choose the first option it asks you how many contacts you want to add dont put a number there type a letter or a word and then you will see what i mean.

    Code:
    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<string.h>
    struct listado{
           char nombre[15];
           char apellidos[25];
           int edad;
           int phone;
           char DNI[20];
           char direcion[60];
           };
    void busc(struct listado agenda[],int cantidad);
    void mostrar(struct listado agenda[],int cantidad);
    void busc1(struct listado agenda[],int cantidad);
    void busc2(struct listado agenda[],int cantidad);
    void busc3(struct listado agenda[],int cantidad);
    void busc4(struct listado agenda[],int cantidad);
    void busc5(struct listado agenda[],int cantidad);
    void cambiar(struct listado agenda[],int cantidad);
     
    main()
    {
          int i,contacto,opcion;
          struct listado agenda[20];
          char sal;
          do
          {
               printf("\n");
               printf("\n");
               printf("\n");
               printf("\n");
               printf("\n");
               printf("\n");
               printf("\n");
                                                 
               printf("    ######  ### ####### #     # #     # ####### #     # ### ######  #######\n");
               printf("    #     #  #  #       ##    # #     # #       ##    #  #  #     # #     # \n");
               printf("    #     #  #  #       # #   # #     # #       # #   #  #  #     # #     # \n");
               printf("    ######   #  #####   #  #  # #     # #####   #  #  #  #  #     # #     # \n");
               printf("    #     #  #  #       #   # #  #   #  #       #   # #  #  #     # #     # \n");
               printf("    #     #  #  #       #    ##   # #   #       #    ##  #  #     # #     # \n");
               printf("    ######  ### ####### #     #    #    ####### #     # ### ######  ####### \n");      
               printf("\n                                                          Agenda de Gaurav");
               getchar();
    
                 system("cls");
                 printf("\n                          ******AGEND..........****\n");
                 printf("\n");
                 printf("                             Menu Principal\n");
                 printf("\n");
                 printf("                          1: Introducir los datos.\n");
                 printf("\n");
                 printf("                          2: Buscar por nombre.\n");
                 printf("\n");
                 printf("                          3: Buscar por apellido.\n");
                 printf("\n");             
                 printf("                          4: Buscar por edad.\n");
                 printf("\n");             
                 printf("                          5: Buscar por Telefono.\n");
                 printf("\n");             
                 printf("                          6: Buscar por DNI.\n");
                 printf("\n");             
                 printf("                          7: Buscar por Direccion.\n");             
                 printf("\n");             
                 printf("                          8: Ver todos los contactos.\n");
                 printf("\n");
                 printf("                          9: Modificar los datos.\n");
                 printf("\n");
                 printf("                          10: Salir.\n\n");
                 printf("---------------------------------------------------------------\n");
                 printf("\n");
                 printf("Introdusca la opcion que desea realizar:");
                 scanf("%d",&opcion);
          switch(opcion)
          { 
          case 1: 
          system("cls");
          printf("\n");
          printf("Cuantos contactos quieres introducir?:");
          scanf("%d",&contacto);
          
          system("cls");
          for(i=0;i<contacto;i++){
                            printf("Datos de contacto numero %d:\n",i+1);
                            printf("\n");                 
                            printf("Introducir el Nombre:");    
                            scanf("%s",&agenda[i].nombre);
                            printf("Introducir  Apellidos:");    
                            scanf("%s",&agenda[i].apellidos);
                            printf("Introducir Edad:");   
                            scanf("%d",&agenda[i].edad);fflush(stdin);
                            printf("Introducir Telefono:");    
                            scanf("%d",&agenda[i].phone);fflush(stdin);
                            printf("Introducir DNI:");    
                            scanf("%s",&agenda[i].DNI);
                            printf("Introducir Direccion:");    
                            scanf("%s",&agenda[i].direcion);
                            system("cls");
                            }
          break; 
          case 2:
          busc(agenda,contacto);
          break;
         
          case 3:
          busc1(agenda,contacto);
          break;
          
          case 4:
          busc2(agenda,contacto);
          break;
          
          case 5:
          busc3(agenda,contacto);
          break;
          
          case 6:
          busc4(agenda,contacto);
          break;
          
          case 7:
          busc5(agenda,contacto);
          break;
          
          case 8:
          mostrar(agenda,contacto); 
          break;                                   
          
          case 9:
          system("cls");
          printf("Quieres salir?(s/n)");
          sal=getch();
          break;
          }
          }while(sal!='s');
          getch();
          system("cls");
               printf("\n");
               printf("\n");
               printf("\n");
               printf("\n");
               printf("\n");
               printf("\n");
               printf("\n");
               printf("         ######   ########     ###     ######  ####    ###     ######  \n");
               printf("        ##    ##  ##     ##   ## ##   ##    ##  ##    ## ##   ##    ## \n");
               printf("        ##        ##     ##  ##   ##  ##        ##   ##   ##  ##       \n");
               printf("        ##   #### ########  ##     ## ##        ##  ##     ##  ######  \n");
               printf("        ##    ##  ##   ##   ######### ##        ##  #########       ## \n");
               printf("        ##    ##  ##    ##  ##     ## ##    ##  ##  ##     ## ##    ## \n");
               printf("         ######   ##     ## ##     ##  ######  #### ##     ##  ######  \n");
               
          getch();
    }
    
    void busc(struct listado agenda[],int cantidad)
    {
         char opcion;
         int x,b,c,d;
         char cade[15];
         system("cls");
         printf("Introduzca el nombre:");
         scanf("%s",&cade);
         system("cls");
         for(c=0,x=0;x<cantidad;x++){
                                     if(strcmp(agenda[x].nombre, cade)== 0)
                                     {
                                     c++;
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     printf("Direccion: %s\n",agenda[x].direcion);    
                                     }
                                     else if (strcmp(agenda[x].DNI, cade)== 0)
                                     {
                                     c++;
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     printf("Direccion: %s\n",agenda[x].direcion);         
                                     }
                                     }
        if(c==0)
        {
                printf("ERROR.");
                }                             
         system("pause");
        system("cls");
    }     
    
    void busc1(struct listado agenda[],int cantidad)
    {
         char opcion;
         int x,t,k,d;
         char cade[15];
         system("cls");
         printf("Introduzca el apellido:");
         scanf("%s",&cade);
         system("cls");
         for(k=0,x=0;x<cantidad;x++){
                                     if(strcmp(agenda[x].apellidos, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     printf("Direccion: %s\n",agenda[x].direcion);       
                                     }
                                     else if (strcmp(agenda[x].DNI, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     printf("Direccion: %s\n",agenda[x].direcion);       
                                     }
                                     }
        if(k==0)
        {
                printf("ERROR.");
                }                             
         system("pause");
        system("cls");
    } 
    
    
    void busc2(struct listado agenda[],int cantidad)
    {
         char opcion;
         int x,t,k,d;
         int cade[15];
         system("cls");
         printf("Introduzca el edad:");
         scanf("%s",&cade);
         system("cls");
         for(k=0,x=0;x<cantidad;x++){
                                     if(strcmp(agenda[x].edad, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     printf("Direccion: %s\n",agenda[x].direcion);      
                                     }
                                     else if (agenda[x].DNI, cade== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     printf("Direccion: %s\n",agenda[x].direcion);  
                                     }
                                     }
        if(k==0)
        {
                printf("ERROR");
                }                             
         system("pause");
        system("cls");
    } 
    
    void busc3(struct listado agenda[],int cantidad)
    {
         char opcion;
         int x,t,k,d;
         char cade[15];
         system("cls");
         printf("Introduzca el numero de telefono: ");
         scanf("%d",&cade);
         system("cls");
         for(k=0,x=0;x<cantidad;x++){
                                     if (agenda[x].phone, cade== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     printf("Direccion: %s\n",agenda[x].direcion);       
                                     }
                                     else if (strcmp(agenda[x].DNI, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     printf("Direccion: %s\n",agenda[x].direcion);    
                                     }
                                     }
        if(k==0)
        {
                printf("ERROR");
                }                             
         system("pause");
        system("cls");
    } 
    
    void busc4(struct listado agenda[],int cantidad)
    {
         char opcion;
         int x,t,k,d;
         char cade[15];
         system("cls");
         printf("Introduzca el DNI:");
         scanf("%s",&cade);
         system("cls");
         for(k=0,x=0;x<cantidad;x++){
                                     if(strcmp(agenda[x].DNI, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("Direccion: %s\n",agenda[x].direcion);       
                                     }
                                     else if (strcmp(agenda[x].DNI, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("Direccion: %s\n",agenda[x].direcion);       
                                     }
                                     }
        if(k==0)
        {
                printf("ERROR");
                }                             
         system("pause");
        system("cls");
    } 
    
    void busc5(struct listado agenda[],int cantidad)
    {
         char opcion;
         int x,t,k,d;
         char cade[15];
         system("cls");
         printf("Introduzca el direccion:");
         scanf("%s",&cade);
         system("cls");
         for(k=0,x=0;x<cantidad;x++){
                                     if(strcmp(agenda[x].direcion, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("DNI: %s\n",agenda[x].DNI);        
                                     }
                                     else if (strcmp(agenda[x].DNI, cade)== 0)
                                     {
                                     k++;
                                     printf("Nombre:%s",agenda[x].nombre);
                                     printf("apellido:%s\n",agenda[x].apellidos);
                                     printf("Edad:%d\n",agenda[x].edad);
                                     printf("Telefono:%d\n",agenda[x].phone);
                                     printf("DNI: %s\n",agenda[x].DNI);
                                     }
                                     }
        if(k==0)
        {
                printf("ERROR");
                }                             
         system("pause");
        system("cls");
    } 
    
    void cambiar(struct listado agenda[],int cantidad)
    {
         int conta,i;
         printf("Estos son los contactos:\n");
         for(i=0;i<cantidad;i++){
                                 printf("#%d %s\n",i+1,agenda[i].nombre);
                                 }
         system("\n");
         printf("Introdusca el # del contacto a modificar:");
         scanf("%d",&conta);
         printf("Ahora modifique el campo que desee.\n");
         printf("Contacto # %d \n",i+1);
         printf("Introdusca Nombre:");    
         scanf("%s",&agenda[conta-1].nombre);
         printf("Introdusca Apellidos:");    
         scanf("%s",&agenda[conta-1].apellidos);
         printf("Introdusca Edad:");    
         scanf("%d",&agenda[conta-1].edad);fflush(stdin);
         printf("Introdusca Telefono:");    
         scanf("%d",&agenda[conta-1].phone);fflush(stdin);
         printf("Introdusca DNI:");    
         scanf("%s",&agenda[conta-1].DNI);
         printf("Introdusca Direccion:");    
         scanf("%s",&agenda[conta-1].direcion);
    system("pause");
    }
    
    
    
    
    void mostrar(struct listado agenda[],int cantidad)
    {
         int i;  
         system("cls");       
         printf("Los contactos almacenados son:\n");
         for(i=0;i<cantidad;i++){
                               printf("Nombre:%s %s \nEdad:%d  \nTelefono:%d \nDNI:%s\nDireccion:%s \n",agenda[i].nombre,agenda[i].apellidos,agenda[i].edad,agenda[i].phone,agenda[i].DNI,agenda[i].direcion);       
                               printf("***************************************************\n");
                               }
         system("pause");
    }

  11. #11
    Registered User
    Join Date
    Sep 2006
    Posts
    8,868
    Right now the program just accepts the option from the user, without any testing.

    Oh! That's not good!

    With your own programs, you can do that, but with any program that has outside users, you can't do that.

    Usually, a do loop is suitable. This type could go inside your larger do loop:

    Code:
    badInput = 1;  //assume bad input may follow
    do  {
       //get your input here
    
       //say the valid options are 1 - 9, so:
    
       if(option > 0 && option < 10)  //test the option input
          badInput = 0;
       
    }while (badInput);
    Also, you r-e-a-l-l-y butchered up that large do loop indentation.

  12. #12
    ATH0 quzah's Avatar
    Join Date
    Oct 2001
    Posts
    14,826
    You might also consider making a function that just prints your header. Then you combine it with the loop mentioned above.
    Code:
    do
    {
        displaymenu( );
    } while( option < 0 || option > 10 );
    Or, you could make your menu a macro or constant string some place, and simply display a string instead of calling displaymenu.
    Code:
    #define MENU "line1\n" \
        "line2\n" \
        "line3\n"
    
    do
    {
        printf( MENU );
    } while( option < 0 || option > 10 );
    You get the idea.


    Quzah.
    Hope is the first step on the road to disappointment.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Largest screen buffer size?
    By Ash1981 in forum C Programming
    Replies: 2
    Last Post: 01-30-2006, 04:31 AM
  2. Feedback: Functional Specification Wording
    By Ragsdale85 in forum C++ Programming
    Replies: 0
    Last Post: 01-18-2006, 04:56 PM
  3. Screen coordinates and mouse pointer manipulation
    By Zewu in forum Windows Programming
    Replies: 1
    Last Post: 03-25-2005, 05:30 PM
  4. char copy
    By variable in forum C Programming
    Replies: 8
    Last Post: 02-06-2005, 10:18 PM
  5. Green Pixel On My Screen???
    By (TNT) in forum A Brief History of Cprogramming.com
    Replies: 18
    Last Post: 01-21-2002, 08:09 AM