我试图将char和int存储到数组'employeeInfo‘,并将其写入文本框'KMARTEXT.txt’。
我不确定如何在数组中存储,然后再存储到文本文件中。
我在addEmployee函数中出错了。
#include <stdio.h>
#include<conio.h> // TEXT COLOR
#include<stdlib.h>
#include<string.h>
#define g gotoxy
#define p printf
#define s scanf
#define cp cprintf
struct employeeInfo{
char employeeName[20];
int employeeBirthdate;
char employeeAddress[30];
int employeePhone;
};
FILE *pf, *tf, *temp;
int x, y;
int main(){
clrscr();
splash();
pickFunction();
getch();
}
splash(){
clrscr();
for(x=1;x<=80;x++){
g(x,1); p("%c",178); delay(20);
}
for(y=2;y<=24;y++){
g(80,y); p("%c",178); delay(20);
}
for(x=79;x>=1;x--){
g(x,24); p("%c",178); delay(20);
}
for(y=23;y>=2;y--){
g(1,y); p("%c",178); delay(20);
}
textcolor(WHITE);
g(27,7); cp(" KMAR Employee Login System ");
}
pickFunction(){
char chosenOperation;
textcolor(WHITE);
g(31,11); cp("A.) Login");
g(31,12); cp("B.) Add Employee");
g(31,13); cp("C.) Delete Employee");
g(31,14); cp("D.) Search Employee");
g(31,15); cp("E.) Exit");
g(32,17); cp("Choose Operation: "); s("%s",&chosenOperation);
switch(chosenOperation){
case 'a': case 'A': loginEmployee(); break; /* Add/write to file function */
case 'b': case 'B': addEmployee(); break; /* Search by num/string function */
case 'c': case 'C': deleteEmployee(); break;
case 'd': case 'D': searchEmployee(); break;
case 'e': case 'E': exit(0); break;
default:
textcolor(YELLOW);
g(22,20); cp("Invalid Option! Press ENTER to go back..");
getch();
clrscr();
main();
}
}
addEmployee(){
struct employeeInfo pck;
clrscr();
pf = fopen("KMARTEXT.txt", "w");
if(pf == NULL)
{
/* File not created hence exit */
printf("Unable to create file.\n");
exit(EXIT_FAILURE);
}
g(31,12);
printf("Enter Employee Name: \n");
fgets(employeeInfo, employeeName, stdin);
fputs(employeeInfo, pf);
fclose(pf);
return 0;
}
错误是函数 addEmployee中的未定义符号employeeInfo。
函数中的未定义符号employeeName addEmployee
发布于 2022-03-29 08:21:05
您的employeeinfo是一个结构标记,而不是结构的实际实例。换句话说,您描述了这样的结构包含了什么,但是您没有创建一个。
您可能想回顾一下如何定义结构:结构
发布于 2022-03-29 08:24:37
在addEmployee
中,您希望:
fgets(pck.employeeName, sizeof pck.employeeName, stdin);
fputs(pck.employeeName, pf);
https://stackoverflow.com/questions/71665264
复制相似问题