Guest User

Untitled

a guest
Jan 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.64 KB | None | 0 0
  1. /* Name:Gianaine M. Buaquinia
  2.    TIme: 5:30 - 7:30pm
  3.    problem:User defined function and file handling.
  4. */
  5. #include<stdio.h>
  6. #include<conio.h>
  7. #include<ctype.h>
  8. #include<string.h>
  9. #include<process.h>
  10.  
  11. #define g gotoxy
  12. #define p printf
  13. #define s scanf
  14.  
  15. void writenew(void);
  16. void inputdata(void);
  17. void search(void);
  18. void edit(void);
  19. void browse(void);
  20.  
  21. int i;
  22. char name[15],pos[15],id[6],id2[6],id3[6],quest,quest1;
  23. float rate,dw,sal,Found=0;
  24. FILE *fp,*dx,*temp,*sub;
  25. main ()
  26. {
  27.     char ch;
  28.     clrscr();
  29.     p("MAIN MENU\n");
  30.     p("[A]\tAdd new record\n");
  31.     p("[B]\tSearch a record\n");
  32.     p("[C]\tBrowse a record\n");
  33.     p("[X]\tExit\n");
  34.     p("Enter your choice:");
  35.  
  36.     while (ch!='A'||'X')
  37.     {
  38.     ch=toupper(getche());
  39.     g (19,6);
  40.     clreol();
  41.  
  42.         switch (ch)
  43.     {
  44.         case 'A':
  45.         {
  46.         writenew();
  47.         getch();
  48.         main();
  49.         }
  50.         break;
  51.         case 'B':
  52.         {
  53.         search();
  54.         getch();
  55.         main();
  56.         }
  57.         break;
  58.         case 'C':
  59.         {
  60.         browse();
  61.         getch();
  62.         main();
  63.         }
  64.         break;
  65.         case'X':
  66.         {
  67.         return 0;
  68.         }
  69.     }
  70.     }
  71.         getch();
  72.     main ();
  73. }
  74.  
  75.     void writenew(void)
  76.     {
  77.  
  78.  
  79.         clrscr();
  80.         fp=fopen("e:\\file.txt","a+");
  81.  
  82.         inputdata();
  83.         fprintf(fp,"\n%s\t%s\t%s\t%0.2f\t%0.2f\t%0.2f\n",id,name,pos,rate,dw,sal);
  84.         dx=fopen("e:\\file.txt","r");
  85.  
  86.         while(!feof(dx)&&Found==0)
  87.             {
  88.         fscanf(dx," %s %s %f %f %f",&id,&name,pos,rate,dw,sal);
  89.             }
  90.         fclose (fp);
  91.         fclose (dx);
  92.  
  93.  
  94. getch();
  95. main();
  96.     }
  97.         void inputdata(void)
  98.     {
  99.         clrscr();
  100.         p("ID number :");
  101.         s("%s",&id);
  102.         p("Name       :");
  103.         s("%s",&name);
  104.         p("Position   :");
  105.         s("%s",&pos);
  106.         p("Rate\Day    :");
  107.         s("%f",&rate);
  108.         p("Days worked:");
  109.         s("%f",&dw);
  110.         sal=dw*rate;
  111.         p("Salary     :P%0.2f",sal);
  112.     }
  113.  
  114.         void browse(void)
  115.     {
  116.         clrscr();
  117.         g(1,1);
  118.         p("Employee number");
  119.         g(17,1);
  120.         p("Name");
  121.         g(35,1);
  122.         p("Position");
  123.         g(45,1);
  124.         p("Rate/Day");
  125.         g(55,1);
  126.         p("Days Worked");
  127.         g(70,1);
  128.         p("Salary");
  129.          if((fp=fopen("e:\\file.txt","r"))== NULL)
  130.          p("\nFile is empty.");
  131.          else
  132.         {
  133.         while(!feof(fp))
  134.         {
  135.         fscanf(fp,"%s\t %s\t %s\t %f\t %f\t %f\t",&id,&name,&pos,&rate,&dw,&sal);
  136.         if(feof(fp))
  137.         break;
  138.         i=3;
  139.         g(1,i);  p("%s",id);
  140.         g(17,i); p("%s",name);
  141.         g(35,i); p("%s",pos);
  142.         g(45,i); p("%0.2f",rate);
  143.         g(55,i); p("%0.2f",dw);
  144.         g(70,i); p("%0.2f",sal);
  145.         i++;
  146.         }
  147.  
  148.  
  149.         p("\nEnd of File, press any key to exit.");
  150.         fclose(fp);
  151.         getch();
  152. }
  153.  
  154. }
  155.         void search(void)
  156.     {
  157.  
  158.         do{
  159.         clrscr();
  160.         if((fp=fopen("e:\\file.txt","r"))== NULL)
  161.         p("\nFile is empty.");
  162.         else
  163.         {
  164.         p("Enter id number to search: ");
  165.         s("%s",&id2);
  166.         clrscr();
  167.         while(!feof(fp)&&Found==0)
  168.         {
  169.         fscanf(fp,"%s\t %s\t %s\t %f\t %f\t %f\t",&id,&name,&pos,&rate,&dw,&sal);
  170.         if(strcmp(id2,id)==0)
  171.         Found=1;
  172.         }
  173.         if(Found)
  174.         {
  175.         g(1,1);
  176.         p("Employee number");
  177.         g(17,1);
  178.         p("Name");
  179.         g(35,1);
  180.         p("Position");
  181.         g(45,1);
  182.         p("Rate/Day");
  183.         g(55,1);
  184.         p("Days Worked");
  185.         g(70,1);
  186.         p("Salary");
  187.         i=3;
  188.         g(1,i);  p("%s",id);
  189.         g(17,i); p("%s",name);
  190.         g(35,i); p("%s",pos);
  191.         g(45,i); p("%0.2f",rate);
  192.         g(55,i); p("%0.2f",dw);
  193.         g(70,i); p("%0.2f",sal);
  194.         i++;
  195.         }
  196.         else
  197.         p("\nFile not Found!");
  198.         }
  199.         Found=0;
  200.          fclose(fp);
  201.         p("\nPress E to edit\n");
  202.         p("Press D to delete");
  203.         s("%s",&quest1);
  204.         while (quest1!='E'||'D')
  205.     {
  206.         quest1=toupper(getche());
  207.         g (19,6);
  208.         clreol();
  209.  
  210.         switch (quest1)
  211.     {
  212.         case 'E':
  213.         {
  214.  
  215.         getch();
  216.         main();
  217.         }
  218.         break;
  219.         case 'D':
  220.         {
  221.  
  222.         getch();
  223.         main();
  224.         }
  225.         break;
  226.  
  227.         case'X':
  228.         {
  229.         exit(0);
  230.         }
  231.     }
  232.     }
  233.            
  234.          p("\nWould you like to search more?[Y/N]");
  235.          s("%s",&quest);
  236.          }while(quest=='y'||quest=='Y');
  237.        
  238.          }
Add Comment
Please, Sign In to add comment