#include "stdAfx.h"
#include %26lt;stdlib.h%26gt;
#include %26lt;string.h%26gt;
#include %26lt;ctype.h%26gt;
#include %26lt;conio.h%26gt;
#include %26lt;windows.h%26gt;
int create();
void inputData();
void createFile();
int addRec();
void DisplayTrans();
int update();
void addFile();
void deleteRec();
void printfRecord();
int isFound(char *target,int cnt);
void deleteRec(char *target,int cnt);
void displayTitle();
void search(char[],int*,int*);
void displayRec();
void updateRec(int);
void searchUpdate();
void searchNdisplay();
struct
{
 char transNum[5];
 char studID[11];
 char dateBorrowed[11];
}trHeaderRec,trHeaderTemp[4];
 
FILE *trHeaderFile;
int main (void)
{
 int choice;
 trHeaderFile = fopen("TRHEADER.DAT","r");
 if((trHeaderFile = fopen("TRHEADER.DAT","r"))==NULL)
  trHeaderFile = fopen("TRHEADER.DAT","w+");
  printf("File could not be opened!");
  else
  {
    switch(choice)
    case 1: create();
    break;
    case 2: DisplayTrans();
    break;
    case 3: addRec();
    break;
    case 4: deleteRec();
    break;
    default:searchNdisplay;
    break;         
  }
   
int create()
{
 char response;
 trHeaderFile = fopen("TRHEADER.DAT","rb");
 
 if(trHeaderFile != NULL)
  printf("FILE ALREADY EXISTS...\n");
 do
 {
  fflush(stdin);
  printf("Hit 'Y' to OVERWRITE, otherwise hit 'N'?\t");
  scanf("%c",%26amp;response);
 }while(toupper(response) != 'Y'%26amp;%26amp;toupper(response) != 'N');
 
 if(toupper(response) == 'Y')
 {
 
  createFile();
  fclose(trHeaderFile);
 }
 
 else
 {
  createFile();
  fclose(trHeaderFile);
 }
 return 0;
}
void createFile()
{
 char response;
 trHeaderFile = fopen("TRHEADER.DAT", "wb");
 do 
 {
 inputData();
 fwrite(%26amp;trHeaderRec, sizeof(trHeaderRec), 1, trHeaderFile);
 do
 {
 printf("Hit 'Y' to ADD MORE, hit 'N' to save and exit....\t");
 fflush(stdin);
 scanf("%c", %26amp;response);  
  
 }while(toupper(response) != 'Y' %26amp;%26amp; toupper(response) != 'N');
 
 }while(toupper(response) == 'Y');
}
void inputData()
{
 system("cls");  
 printf("4-character Transaction Number:          ");
 scanf("%s", trHeaderRec.transNum);
 printf("10-character Student I.D.:               ");
 scanf("%s", trHeaderRec.studID);
 printf("10-character Date Borrowed[mm/dd/yyyy]:  ");
 scanf("%s", trHeaderRec.dateBorrowed);
 
}
//display
void DisplayTrans()
{
system("cls");
trHeaderFile=fopen("TRHEADER.dat","r")...
if((trHeaderFile= fopen("TRHEADER.dat","r"))==NULL)
{
printf("The file does not exist.");
}
else
{
fread(%26amp;trHeaderRec,sizeof(trHeaderRec)...
if(feof(trHeaderFile))
printf("File is empty");
else
{
    printf("\t\t\t   ***Transaction Report***\n");
 printf("\n%5s%s%8s%s%4s%s", "", "TransNum", "", "studID", "", "dateBorrowed", "");
} 
  
do
{
    
  printf("\n%7s%s%12s%s%8s%s", " ", trHeaderRec.transNum, "", trHeaderRec.studID, "", trHeaderRec.dateBorrowed, "");
  fread(%26amp;trHeaderRec,sizeof(trHeaderRec),1...
  
  
}while(!feof(trHeaderFile));
}fclose(trHeaderFile);
}
//add
int addRec() 
{
char reply;
trHeaderFile=fopen("TRHEADER.DAT","wb"...
 if(trHeaderFile!=NULL)
  printf("THE FILE ALREADY EXISTS\n");
  
  do
  {
   fflush(stdin);
   printf("Overwrite[Y/N]?\n");
   scanf("%c",%26amp;reply);
  }while(toupper(reply)!='Y'%26amp;%26amp;toupper(...
  if(toupper(reply)=='Y')
  { addFile();
   fclose(trHeaderFile);
   }
 else
 { addFile();
  fclose(trHeaderFile);
  
 }
  return 0;
  }
  
void addFile()
{
 char reply;
 trHeaderFile=fopen("TRHEADER.DAT","wb...
 do
 {
  inputData();
  fwrite(%26amp;trHeaderRec,sizeof(trHeaderR...
 do
 {
  printf("Add more[Y/N]?:");
  fflush(stdin);
  scanf("%c",%26amp;reply);
 }while(toupper(reply)!='Y'%26amp;%26amp;toupper(r...
 
}while(toupper(reply)=='Y');
}
//void deleteRec()
//{
 //headerFile=fopen("TRHEADER.DAT","r"...
 //if(headerFile==NULL)
// {
    
  // printf("The file does not exist!\n");
  // printf("Press any key to end!!");
  // fflush(stdin);
  // getch();
// }
// else
 //{
  //fread(%26amp;headerRec,sizeof(headerRec)...
  //if(feof(headerFile))
 // {
  // printf("The file is empty");
  // fflush(stdin);
  // getch();
 // }
 // else
  // searchNdisplay();
 // }
// fclose(headerFile);
// return 0;
//}
void searchNdisplay()
{
 char target[11],ans,ANS;
 
 
 trHeaderFile=fopen("TRHEADER.DAT","r"...
 
 int cnt=0,found=0;
 fread(%26amp;trHeaderRec,sizeof(trHeaderRec...
 while(!feof(trHeaderFile))
 {
  
  strcpy(trHeaderTemp[cnt].studID,trHe...
  strcpy(trHeaderTemp[cnt].transNum,tr...
  strcpy(trHeaderTemp[cnt].dateBorrowe...
  fread(%26amp;trHeaderRec,sizeof(trHeaderRe...
  cnt++;
 }
 fclose(trHeaderFile);
 do
 {
  printf("Input studentID:");
  fflush(stdin);
  gets(target);
  
  if(isFound(target,cnt))
  {
   printfRecord();
   do
   {
   printf("Do you want to delete this record?(y/n): ");
   fflush(stdin);
   scanf("%c",%26amp;ans);
   }while(ans!='y'%26amp;%26amp;ans!='Y'%26amp;%26amp;ans!='n'...
   
   if(ans=='y'||ans=='Y')
   {
    deleteRec(target,cnt);
    printf("\nThe record has been deleted\n");
   }
   do
   {
    printf("Do you want to search another record?(y/n): ");
    fread(%26amp;trHeaderRec,sizeof(trHeader...
    fflush(stdin);
    scanf("%c",%26amp;ANS);
   }while(ANS!='y'%26amp;%26amp;ANS!='Y'%26amp;%26amp;ANS!='n'...
  }
  else
   printf("Record is not in the list!");
  
   trHeaderFile=fopen("TRHEADER.DAT","...
 
 int cnt=0,found=0;
 fread(%26amp;trHeaderRec,sizeof(trHeaderRec...
 while(!feof(trHeaderFile))
 {
  strcpy(trHeaderRec.studID,trHeaderTe...
  strcpy(trHeaderRec.transNum,trHeader...
  strcpy(trHeaderRec.dateBorrowed,trHe...
  fread(%26amp;trHeaderRec,sizeof(trHeaderRe...
  cnt++;
 }
 fclose(trHeaderFile);
 }while(ANS=='y'||ANS=='Y');
   
 fclose(trHeaderFile);
}
int isFound(char *target,int cnt)
{
 int found;
    
 for(int a=0;a%26lt;cnt;a++)
 {
  if(strcmp(trHeaderTemp[a].studID,tar...
  {
   found=1;
  }
  else
   fread(%26amp;trHeaderRec, sizeof(trHeaderRec),1,trHeaderFile);
  
 }
 return found;
}
void printfRecord()
{
 printf("%s\t%s\t%s\t%s\t%s\t%s\t\n",t... trHeaderRec.dateBorrowed);
}
void deleteRec(char *target,int cnt)
{
 int num=0;
 for(int a=0;a%26lt;cnt;a++)
 {
  if(strcmp(trHeaderTemp[a].studID,tar...
  {
   for(int b=cnt;b%26gt;=num;b++)
   {
    trHeaderTemp[cnt]=trHeaderTemp[cnt...
   }
   break;
  }
  else
   num++;
 }
}
// update
int update()
{
trHeaderFile=fopen("TRHEADER.DAT","r")...
if(trHeaderFile==NULL)
{
printf("The file does no exist\n\n  press any key to continue\n");
getch();
}
else
{
 fread(%26amp;trHeaderRec,sizeof(trHeaderRec...
 if(!feof(trHeaderFile))
  printf("file is empty...\n\n");
 else
  searchUpdate();
}
return 0;
}
 
void searchUpdate()
{
char answer,target[5];
int found,size,len;
displayTitle();
do{
 do{
  printf("record to be update\n");
  printf("transaction code");
        scanf("%s",target);
  len=strlen(target);
 }
 while(len!=4);
    search(target,%26amp;found,%26amp;size);
 if(!found)
  printf("the record does not exist");
    else
 {
  displayRec();
  do{
   printf("update this record [Y/N]?");
   fflush(stdin);
   scanf("%c",%26amp;answer);
   answer=toupper(answer);
  }
  while(answer!='Y'%26amp;%26amp; answer!='N');
  
  if(answer=='Y')
   updateRec(size);
  
  do
  {
         printf("update this record [Y/N]?");
   fflush(stdin);
   scanf("%c",%26amp;answer);
   answer=toupper(answer);
   }
  while(answer!='Y'%26amp;%26amp; answer!='N');
 }
}
while(answer=='Y');
}
void displayTitle()
{
 printf("\n\n");
 printf("USJR\n");
 printf("\tlibrary");
 printf("\trecords of books borrowed");
}
void search(char tar[],int*fnd,int*sz)
{
 int cnt=0;
 trHeaderFile=fopen("TRHEADER.DAT","r"...
 fread(%26amp;trHeaderRec,sizeof(trHeaderRec...
 *fnd=0;
 *sz=0;
 while(!feof(trHeaderFile)%26amp;%26amp;*fnd!=1)
 {
  if(tar==trHeaderRec.transNum)
   *fnd=1;
  else
  {
   cnt++;
   fread(%26amp;trHeaderRec,sizeof(trHeaderR...
    
   *sz=cnt*sizeof(trHeaderRec);
  }
 }
}
void displayRec(){
 printf("transaction number: %s\n",trHeaderRec.transNum);
 printf("studID: %s\n",trHeaderRec.studID);
 printf("dateBorrowed: %s\n",trHeaderRec.dateBorrowed);
}
void updateRec(int size)
{
 char reply;
  int choice;
  do{
   clearScrn();
   
do{
  
  printf("which field you want to update?\n");
     scanf("%d",%26amp;choice);
}
while(choice%26lt;4);
  
  switch (choice)
  {
  case 1:
   printf("transaction #\n");
   scanf("%s",trHeaderRec.transNum);
   break;
     case 2:
   printf("dateBorrowed\n");
   scanf("%s",trHeaderRec.dateBorrowed);
   break;
  case 3:
   printf("studID\n");
         scanf("%s",trHeaderRec.studID);
   break;
     default:printf("unexpected choice of field\n");
  }
  do{
   printf("do you want to update another?/n");
   fflush(stdin);
   scanf("%c",%26amp;reply);
  }
  while(reply!='Y'%26amp;%26amp;reply!='N');
  }
  while(reply=='Y');
  fseek(trHeaderFile,size,SEEK_SET);
  fwrite(%26amp;trHeaderRec,sizeof(trHeaderRec),...
  fclose(trHeaderFile);
}
What's wrong with my vb C program???
You're not asking for much are you. 
NB: Part of your code gets cut off by Y!A then you paste it in, so you might have to rely on the compiler to tell you what's wrong
Reply:Can you add additional infos?? i don't want to read all of them.. When you compile it what does it say?? and what line??
Reply:Do you have a compiler error message; or was it producing an unexpected output? Please provide additional info
Reply:1. What is it supposed to do?
2. What does it do?
3. What errors do you get?
4. Where is the complete source?
love song
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment