#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <stdlib.h>
void menu();
void UserReg(); //用戶注冊函式
void Login(); //用戶登錄函式
void creat();
void load();
void search();
void add();
void show();
void save();
int n;
int t;
t=1;
struct Person
{
char name[20];
int huadeqian;
int cundeqian;
char date[40];
}person[500];
struct Add
{
int cunru;
int xiaofei;
char riqi[40];
}a[1000];
main()
{
int selectNum;
printf("\t\t\t|--------------------------------|\n");
printf("\t\t\t|--------------------------------|\n");
printf("\t\t\t| |\n");
printf("\t\t\t| |\n");
printf("\t\t\t| 歡迎使用個人消費管理系統 |\n");
printf("\t\t\t| |\n");
printf("\t\t\t| |\n");
printf("\t\t\t|--------------------------------|\n");
printf("\t\t\t\t 1 用戶注冊\n");
printf("\t\t\t\t 2 登錄\n");
printf("\t\t\t\t 3 退出\n");
scanf("%d",&selectNum);
switch (selectNum)
{
case 1:UserReg();
break;
case 2:Login();
break;
case 3:printf("退出!\n");
exit(1);
break;
}
}
void UserReg()
{
FILE *fp;
char Linedata[50]={0},User[20],Pass[20];
fp = fopen("data.dat","at");
system("cls");
printf("請輸入你的賬戶名稱:\n");
fflush(stdin);
gets(User);
printf("請輸入你的賬戶密碼:\n");
fflush(stdin);
gets(Pass);
strcpy(Linedata,User);
strcat(Linedata,",");
strcat(Linedata,Pass);
strcat(Linedata,"\n");
fputs(Linedata,fp);
fclose(fp);
printf("注冊成功!\n");
Sleep(500);
system("cls");
main();
}
void Login()
{
FILE *fp;
int find=0;
char User[20],Pass[20],Userstrcat[50]={0};
char Userdata[50]={0};
fp = fopen("data.dat","r");
system("cls");
printf("登錄帳戶:\n");
printf("請輸入你的賬戶名稱:\n");
fflush(stdin);
gets(User);
printf("請輸入你的密碼:\n");
fflush(stdin);
gets(Pass);
strcpy(Userstrcat,User);
strcat(Userstrcat,",");
strcat(Userstrcat,Pass);
strcat(Userstrcat,"\n");
system("cls");
while (!feof(fp))
{
fgets(Userdata,19,fp);
if (strcmp(Userdata,Userstrcat)==0 )
{
printf("恭喜!登錄成功!\n");
printf("歡迎回來,%s!\n",User);
find=1;
menu();
}
}
if (!find)
{
printf("用戶名或密碼不正確!\n");
}
fclose(fp);
}
/*-----------主選單------------*/
void menu()
{
int i;
do
{
system("cls");
printf("\n\n\n");
printf(" ------------個人消費管理------------\n");
printf("\n\n");
printf(" 1.創建新的個人資訊\n");/*creat*/
printf(" 2.載入現有資料\n");/*load*/
printf(" 3.查詢消費資訊\n");/*search*/
printf(" 4.添加消費資訊\n");/*add*/
printf(" 5.顯示已錄入資訊\n");/*show*/
printf(" 6.退出系統\n");/*exit*/
printf("\n\n");
printf(" ------------------------------------\n");
printf("\n 輸入選項(1-6): ");
scanf("%d",&i);
switch(i)
{
case 1:creat();
break;
case 2:load();
break;
case 3:search();
break;
case 4:add();
break;
case 5:show();
break;
case 6:break;
default: printf("輸入錯誤,請重新輸入。\n");Sleep(500);break;
}
}while(i!=6);
return 0;
}
void creat()
{
system("cls");
n=1;
printf("請輸入姓名:\n");
scanf("%s",&person[n].name);
printf("請輸入花費金額:\n");
scanf("%d",&person[n].huadeqian);
printf("請輸入存入金額:\n");
scanf("%d",&person[n].cundeqian);
printf("請輸入消費日期:\n");
scanf("%s",&person[n].date);
printf("保存成功!\n");
Sleep(500);
return (menu());
}
void load()
{
FILE *in,*out;
system("cls");
in=fopen("消費資訊.txt","r");
out=fopen("個人消費資訊.txt","w");
char c=fgetc(in);
while (!feof(in))
{
char ch=fgetc(in);
fputc(ch,out);
}
printf("載入成功!\n");
Sleep(500);
}
void search()
{
char d[40];
int i;
int j;
system("cls");
printf("請輸入要搜索的日期:\n");
scanf("%s",&d);
for(i=1;i<t;i++)
{
if(strcmp(a[i].riqi,d)==0)
{
printf(" -----------------------------------------------------------\n");
printf(" 消費金額 存入金額 總計\n");
printf(" %d %d %d\n",a[i].xiaofei,a[i].cunru,a[i].cunru-a[i].xiaofei);
}
else
printf("沒有該日期的資訊。\n");
}
printf("1-回傳上級選單 0-退出程式\n");
scanf("%d",&j);
switch(j)
{
case 1:menu();
break;
case 0:break;
default: printf("輸入錯誤,請重新輸入。\n");break;
}
}
void add()
{
system("cls");
for(;t<=1000;)
{
printf("請輸入消費金額:\n");
scanf("%d",&a[t].xiaofei);
printf("請輸入存入金額:\n");
scanf("%d",&a[t].cunru);
printf("請輸入消費日期:\n");
scanf("%s",&a[t].riqi);
t++;
break;
}
}
void show()
{
int j;
int i;
system("cls");
printf(" %s\n",person[n].date);
printf(" -----------------------------------------------------------\n");
printf(" 姓名 消費金額 存入金額 總計\n");
printf(" %s %d %d %d\n",person[n].name,person[n].huadeqian,person[n].cundeqian,person[n].cundeqian-person[n].huadeqian);
for(i=1;i<t;i++)
{
printf(" %s\n",a[i].riqi);
printf(" -----------------------------------------------------------\n");
printf(" 消費金額 存入金額 總計\n");
printf(" %d %d %d\n",a[i].xiaofei,a[i].cunru,a[i].cunru-a[i].xiaofei);
}
printf("1-回傳上級選單 0-退出程式\n");
scanf("%d",&j);
switch(j)
{
case 1:menu();
break;
case 0:break;
default: printf("輸入錯誤,請重新輸入。\n");break;
}
}
e:\我的檔案\桌面\321.c(152) : warning C4098: 'menu' : 'void' function returning a value
e:\我的檔案\桌面\321.c(169) : warning C4098: 'creat' : 'void' function returning a value
e:\我的檔案\桌面\321.c(177) : error C2143: syntax error : missing ';' before 'type'
Error executing cl.exe.
321.obj - 1 error(s), 2 warning(s)
uj5u.com熱心網友回復:
Menu() 里邊的 return 0;去掉 程序里不需要回傳值其他我沒改什么,編譯通過
uj5u.com熱心網友回復:
可是 我這里還是出現error C2143: syntax error : missing ';' before 'type'主要是我不明白這個錯誤為什么出現
uj5u.com熱心網友回復:
各種C版本。基礎不過關//---------------------------------------------------------------------------
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <stdlib.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
void menu();
void UserReg(); //用戶注冊函式
void Login(); //用戶登錄函式
void creat();
void load();
void search();
void add();
void show();
void save();
int n;
int t; //t=1;
struct Person
{
char name[20];
int huadeqian;
int cundeqian;
char date[40];
}person[500];
struct Add
{
int cunru;
int xiaofei;
char riqi[40];
}a[1000];
int main(int argc, char* argv[])
{
int selectNum;
printf("\t\t\t|--------------------------------|\n");
printf("\t\t\t|--------------------------------|\n");
printf("\t\t\t| |\n");
printf("\t\t\t| |\n");
printf("\t\t\t| 歡迎使用個人消費管理系統 |\n");
printf("\t\t\t| |\n");
printf("\t\t\t| |\n");
printf("\t\t\t|--------------------------------|\n");
printf("\t\t\t\t 1 用戶注冊\n");
printf("\t\t\t\t 2 登錄\n");
printf("\t\t\t\t 3 退出\n");
scanf("%d",&selectNum);
switch (selectNum)
{
case 1:UserReg();
break;
case 2:Login();
break;
case 3:printf("退出!\n");
exit(1);
break;
}
}
void UserReg()
{
FILE *fp;
char Linedata[50]={0},User[20],Pass[20];
fp = fopen("data.dat","at");
system("cls");
printf("請輸入你的賬戶名稱:\n");
fflush(stdin);
gets(User);
printf("請輸入你的賬戶密碼:\n");
fflush(stdin);
gets(Pass);
strcpy(Linedata,User);
strcat(Linedata,",");
strcat(Linedata,Pass);
strcat(Linedata,"\n");
fputs(Linedata,fp);
fclose(fp);
printf("注冊成功!\n");
Sleep(500);
system("cls");
// main();
}
void Login()
{
FILE *fp;
int find=0;
char User[20],Pass[20],Userstrcat[50]={0};
char Userdata[50]={0};
fp = fopen("data.dat","r");
system("cls");
printf("登錄帳戶:\n");
printf("請輸入你的賬戶名稱:\n");
fflush(stdin);
gets(User);
printf("請輸入你的密碼:\n");
fflush(stdin);
gets(Pass);
strcpy(Userstrcat,User);
strcat(Userstrcat,",");
strcat(Userstrcat,Pass);
strcat(Userstrcat,"\n");
system("cls");
while (!feof(fp))
{
fgets(Userdata,19,fp);
if (strcmp(Userdata,Userstrcat)==0 )
{
printf("恭喜!登錄成功!\n");
printf("歡迎回來,%s!\n",User);
find=1;
menu();
}
}
if (!find)
{
printf("用戶名或密碼不正確!\n");
}
fclose(fp);
}
/*-----------主選單------------*/
void menu()
{
int i;
do
{
system("cls");
printf("\n\n\n");
printf(" ------------個人消費管理------------\n");
printf("\n\n");
printf(" 1.創建新的個人資訊\n");/*creat*/
printf(" 2.載入現有資料\n");/*load*/
printf(" 3.查詢消費資訊\n");/*search*/
printf(" 4.添加消費資訊\n");/*add*/
printf(" 5.顯示已錄入資訊\n");/*show*/
printf(" 6.退出系統\n");/*exit*/
printf("\n\n");
printf(" ------------------------------------\n");
printf("\n 輸入選項(1-6): ");
scanf("%d",&i);
switch(i)
{
case 1:creat();
break;
case 2:load();
break;
case 3:search();
break;
case 4:add();
break;
case 5:show();
break;
case 6:break;
default: printf("輸入錯誤,請重新輸入。\n");Sleep(500);break;
}
}while(i!=6);
return 0;
}
void creat()
{
system("cls");
n=1;
printf("請輸入姓名:\n");
scanf("%s",&person[n].name);
printf("請輸入花費金額:\n");
scanf("%d",&person[n].huadeqian);
printf("請輸入存入金額:\n");
scanf("%d",&person[n].cundeqian);
printf("請輸入消費日期:\n");
scanf("%s",&person[n].date);
printf("保存成功!\n");
Sleep(500);
//return (menu());
}
void load()
{
char c;
FILE *in,*out;
system("cls");
in=fopen("消費資訊.txt","r");
out=fopen("個人消費資訊.txt","w");
c=fgetc(in);
while (!feof(in))
{
char ch=fgetc(in);
fputc(ch,out);
}
printf("載入成功!\n");
Sleep(500);
}
void search()
{
char d[40];
int i;
int j;
system("cls");
printf("請輸入要搜索的日期:\n");
scanf("%s",&d);
for(i=1;i<t;i++)
{
if(strcmp(a[i].riqi,d)==0)
{
printf(" -----------------------------------------------------------\n");
printf(" 消費金額 存入金額 總計\n");
printf(" %d %d %d\n",a[i].xiaofei,a[i].cunru,a[i].cunru-a[i].xiaofei);
}
else
printf("沒有該日期的資訊。\n");
}
printf("1-回傳上級選單 0-退出程式\n");
scanf("%d",&j);
switch(j)
{
case 1:menu();
break;
case 0:break;
default: printf("輸入錯誤,請重新輸入。\n");break;
}
}
void add()
{
system("cls");
for(;t<=1000;)
{
printf("請輸入消費金額:\n");
scanf("%d",&a[t].xiaofei);
printf("請輸入存入金額:\n");
scanf("%d",&a[t].cunru);
printf("請輸入消費日期:\n");
scanf("%s",&a[t].riqi);
t++;
break;
}
}
void show()
{
int j;
int i;
system("cls");
printf(" %s\n",person[n].date);
printf(" -----------------------------------------------------------\n");
printf(" 姓名 消費金額 存入金額 總計\n");
printf(" %s %d %d %d\n",person[n].name,person[n].huadeqian,person[n].cundeqian,person[n].cundeqian-person[n].huadeqian);
for(i=1;i<t;i++)
{
printf(" %s\n",a[i].riqi);
printf(" -----------------------------------------------------------\n");
printf(" 消費金額 存入金額 總計\n");
printf(" %d %d %d\n",a[i].xiaofei,a[i].cunru,a[i].cunru-a[i].xiaofei);
}
printf("1-回傳上級選單 0-退出程式\n");
scanf("%d",&j);
switch(j)
{
case 1:menu();
break;
case 0:break;
default: printf("輸入錯誤,請重新輸入。\n");break;
}
}
uj5u.com熱心網友回復:
上面編譯通過。n多警告
[C++ Warning] Unit1.c(54): W8065 Call to function 'UserReg' with no prototype
[C++ Warning] Unit1.c(56): W8065 Call to function 'Login' with no prototype
[C++ Warning] Unit1.c(62): W8070 Function should return a value
[C++ Warning] Unit1.c(114): W8065 Call to function 'menu' with no prototype
[C++ Warning] Unit1.c(145): W8065 Call to function 'creat' with no prototype
[C++ Warning] Unit1.c(147): W8065 Call to function 'load' with no prototype
[C++ Warning] Unit1.c(149): W8065 Call to function 'search' with no prototype
[C++ Warning] Unit1.c(151): W8065 Call to function 'add' with no prototype
[C++ Warning] Unit1.c(153): W8065 Call to function 'show' with no prototype
[C++ Warning] Unit1.c(159): W8081 void functions may not return a value
[C++ Warning] Unit1.c(193): W8004 'c' is assigned a value that is never used
[C++ Warning] Unit1.c(217): W8065 Call to function 'menu' with no prototype
[C++ Warning] Unit1.c(258): W8065 Call to function 'menu' with no prototype
uj5u.com熱心網友回復:
// not void menu();int menu();
void UserReg(); //用戶注冊函式
void Login(); //用戶登錄函式
// not void creat();
int creat();
//not int t;
//t=1;
int t=1;
// not main()
void main()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/105266.html
標籤:基礎類
上一篇:新人求助【MFC pDC->Ellipse 畫圓】不勝感激!
下一篇:選框顏色的問題
