Lost Password?


Go Back   CodeCall Programming Forum > Software Development > C and C++

C and C++ C and C++ forum for discussing all forms of C except for C#. These languages are powerful low level languages used for creating Operating Systems, Device Drivers, compilers and much more.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 01-30-2008, 03:03 PM
hallinan hallinan is offline
Newbie
 
Join Date: Jan 2008
Location: Cork Ireland
Posts: 4
Rep Power: 0
hallinan is on a distinguished road
Default Project Bank System: but Command prompt wont come on

Hi I am doing a project using binary files.I've wrote a small bit of code with no compile errors.I'm using Dev-C++ compiler(If you know a better free one please tell me)When I run it the command prompt opens and closes straight away and I don't know why This has happened me before but I need this project done VERY SOON!! can anyone help?!?This is the code I've written.
It's planned to be a banking system If anyone has Ideas for this I would also like to hear them.Thanks for listening.

C Code:
  1. #include   <stdio.h>
  2. #include   <string.h>
  3. #include   <stdlib.h>
  4.  
  5.  
  6. #define MAX 100
  7.  
  8.  
  9. int menu(void);
  10. int display(int i);
  11. void customer_search(void);
  12. void AccNo_search(void);
  13. void enter(void);
  14. void save(void);
  15. void load(void);
  16.  
  17. struct catalog
  18. {
  19.        char name[80];
  20.        char AccNo[6];
  21.        char address[80];
  22.        unsigned date;
  23.        unsigned char month;
  24.      
  25. }*cat[MAX];
  26.  
  27. struct bank
  28. {
  29.         char BankName[20];
  30.         unsigned LastAccNum;
  31.         unsigned sortCode;
  32.        
  33. }*bank[MAX];
  34.  
  35. int top = 0;
  36.  
  37.  
  38. int main(void)
  39. {
  40.               int choice;
  41.              
  42.               load();
  43.              
  44.               do
  45.                 {
  46.                          choice = menu();
  47.                          
  48.                          switch(choice)
  49.                                {
  50.                                        case 1: enter();
  51.                                             break;
  52.                                        
  53.                                        case 2: customer_search();
  54.                                             break;
  55.                                            
  56.                                        case 3: AccNo_search();
  57.                                             break;
  58.                                            
  59.                                        case 4: save();
  60.                                }
  61.                 }
  62.        
  63.        while(choice !=5);
  64. system("PAUSE");
  65.        return 0;
  66.  
  67. }   
  68.            
  69.            
  70.             /* Return a menu selection*/
  71.            
  72. int menu(void)
  73. {
  74.     int i;
  75.     char str[80];
  76.    
  77.          printf("\t\n\aEircom Billing System\n\n");             
  78.          printf("1->Add Customer\n");
  79.          printf("2->Search by Name\n");
  80.          printf("3->Search by Account Number\n");
  81.          printf("4->Save added Customers\n");
  82.          printf("5->Quit\n");     
  83.              
  84.            do
  85.                 {
  86.                                  printf("Make your selection:  ");
  87.                                  gets(str);
  88.                                  i = atoi(str);
  89.                                  printf("\n");                       
  90.                 } while(i < 1 || i > 5);   
  91.                
  92.            return i;
  93. }                   
  94.                                      
  95.     /*Enter customer into file */
  96.    
  97.    
  98. void enter(void)
  99. {
  100.      int i;
  101.      char temp[80];
  102.      
  103.      
  104.      for (i = top; i<MAX ; i++)
  105.             {
  106.                                    
  107.                    cat[i] = malloc(sizeof(struct catalog));
  108.                    
  109.                           if(!cat[i])
  110.                                  {
  111.                                                  printf("Out Of Memory\n");
  112.                                                  return;
  113.                                  }
  114.                  
  115.                  printf("Enter customer name (ENTER to Quit):");
  116.                  gets(cat[i] -> name);               
  117.                  
  118.                              if(!*cat[i] -> name)
  119.                                          break;
  120.                  
  121.                  printf("\nEnter AccNo:  ");
  122.                  gets(cat[i] -> AccNo);               
  123.                  
  124.                  printf("\nEnter address:  ");
  125.                  gets(cat[i] -> address);               
  126.                  
  127.                  printf("\nEnter year: ");
  128.                  gets(temp);               
  129.                  cat[i] -> date = (unsigned) atoi(temp);
  130.                  
  131.                  printf("\nEnter month: ");
  132.                  gets(temp);               
  133.                  cat[i] -> month = (unsigned) atoi(temp);
  134.                  
  135.                  
  136.                
  137.                 }
  138.              
  139.      top =i ;
  140.                
  141. }
  142.    
  143. /* Search for customer */
  144.  
  145. void customer_search(void)
  146. {
  147.      char name[80];
  148.      int i , found;
  149.      
  150.          printf("Name:  ");
  151.          gets(name);
  152.          
  153.          found = 0;
  154.          
  155.                for (i=0; i<top; i++)
  156.                    {
  157.                          if (!strcmp(name,cat[i]->name))
  158.                                         {
  159.                                                  display(i);
  160.                                                  found = 1;
  161.                                                  printf("\n");
  162.                                         }
  163.                    }
  164.                    
  165.              if(!found)
  166.                    printf("Not Found\n");
  167.  
  168. }
  169.  
  170.  
  171.  
  172. void AccNo_search(void)
  173. {
  174.      char AccNo[80];
  175.      int i , found;
  176.      
  177.          printf("AccNo:  ");
  178.          gets(AccNo);
  179.          
  180.          found = 0;
  181.          
  182.                for (i=0; i<top; i++)
  183.                    {
  184.                          if (!strcmp(AccNo,cat[i] -> AccNo))
  185.                                         {
  186.                                                  display(i);
  187.                                                  found = 1;
  188.                                                  printf("\n");
  189.                                         }
  190.                    }
  191.                    
  192.              if(!found)
  193.                    printf("Not Found\n");
  194. }
  195.  
  196.  
  197.                        
  198.              /*Display entries*/   
  199.              
  200. int display(int i)
  201. {
  202.                   system("CLS");
  203.                   printf("%s\n",cat[i]->AccNo);
  204.                   printf("Account Holder Name: %s\n",cat[i]->name);
  205.                   printf("address: %s\n",cat[i]->address);
  206.                   printf("Year and Month: %u %u ",cat[i]->date,cat[i]->month);
  207. }       
  208.    
  209.                         /*load file*/
  210.                        
  211. void load(void)
  212. {
  213.      FILE *fp,*fp2;
  214.      int i;
  215.      
  216.          if((fp =fopen("index.bin","rb"))==NULL )//|| fp2 =fopen("bank.bin","rb"))==NULL)
  217.                 {
  218.                                               printf("File does not exist on disk");
  219.                                               return;
  220.                 }
  221.                
  222.                
  223.          if(fread(&top,sizeof top,1,fp) !=1)
  224.                               {
  225.                                         printf("Error Reading count");
  226.                                         exit(1);
  227.                               }
  228.                              
  229.          for (i=0 ; i < top ; i++)
  230.                   {
  231.                         cat[i] = malloc(sizeof(struct catalog));
  232.                                
  233.                                if (!cat[i])
  234.                                   {
  235.                                            printf("Out of Memory->\n");
  236.                                            top = i-1;
  237.                                            break;
  238.                                   }
  239.                                  
  240.                                if(fread(cat[i], sizeof(struct catalog),1,fp) !=1)
  241.                                                 {
  242.                                                               printf("Error reading catalog data->\n");
  243.                                                               exit(1);
  244.                                                 }
  245.                   }
  246.      
  247.      
  248.      
  249.      for (i=0 ; i < top ; i++)
  250.                   {
  251.                         bank[i] = malloc(sizeof(struct bank));
  252.                                
  253.                                if (!bank[i])
  254.                                   {
  255.                                            printf("Out of Memory->\n");
  256.                                            top = i-1;
  257.                                            break;
  258.                                   }
  259.                                  
  260.                                if(fread(bank[i], sizeof(struct bank),1,fp) !=1)
  261.                                                 {
  262.                                                               printf("Error reading catalog data->\n");
  263.                                                               exit(1);
  264.                                                 }
  265.                   }
  266.      fclose(fp2)
  267.      fclose(fp);
  268. }
  269.  
  270.  
  271. /* Save the catalog file */
  272.  
  273. void save(void)
  274. {
  275.     FILE *fp;
  276.      int i;
  277.      
  278.            if((fp =fopen("index.bin","w+"))==NULL)
  279.                        {
  280.                                               printf("Cant open file->\n");
  281.                                               exit(1);
  282.                        }
  283.            if(fwrite(&top,sizeof top,1,fp) !=1)
  284.                                {
  285.                                         printf("Error Writting count.\n");
  286.                                         exit(1);
  287.                                }
  288.          
  289.          for(i=0 ; i < top ; i++)
  290.                  {