#include <string.h>
#include <stdlib.h>
typedef struct _HK
{
char num[20]
char name[10]
char card[20]
char hb[20]
int jb
char date[11]
char tt[10]
float pay
struct _HK *next
}*HK
HK head = NULL
void AddMsg()
{
HK t
t = (HK)malloc(sizeof(*t))
printf("输入票号:")
scanf(" %s", t->num)
printf("输入姓名:")
scanf(" %s", t->name)
printf("身份证号:")
scanf(" %s", t->card)
printf("航班号:")
scanf(" %s", t->hb)
printf("座舱号:")
scanf(" %d", &t->jb)
printf("日期(xxxx-xx-xx):")
scanf(" %s", t->date)
printf("时间(xx:xx:xx):")
scanf(" %s", t->tt)
printf("钱数:")
scanf(" %f", &t->pay)
t->next = head
head = t
printf("***********添加成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)
}
void DelMsg()
{
char szMsg[20] = {0}
HK s,t
printf("输入要删除的票号:")
scanf(" %s", szMsg)
for (s = t = headts = t, t = t->next)
{
if (!memcmp(szMsg, t->num, strlen(szMsg)))
{
if (s == t)
head = head->next
else
s->next = t->next
t->next = NULL
free(t)
printf("***********删除成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)
return
}
}
}
void ChangeMsg()
{
HK t
char szMsg[20] = {0}
printf("输入要修改的票号:")
scanf(" %s", szMsg)
for (t = headtt=t->next)
{
if (!memcmp(szMsg, t->num, strlen(szMsg)))
{
printf("输入票号:")
scanf(" %s", t->num)
printf("输入姓名:")
scanf(" %s", t->name)
printf("身份证号:")
scanf(" %s", t->card)
printf("航班号:")
scanf(" %s", t->hb)
printf("座舱号:")
scanf(" %d", &t->jb)
printf("日期(xxxx-xx-xx):")
scanf(" %s", t->date)
printf("时间(xx:xx:xx):")
scanf(" %s", t->tt)
printf("钱数:")
scanf(" %f", &t->pay)
printf("***********修改成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)
return
}
}
}
void FindMsg()
{
int n
char szMsg[20]
HK t
printf("\n\n\n\n")
printf("***********************************************************\n")
printf("* *\n")
printf("***********************1.票号查询信息**********************\n")
printf("* *\n")
printf("***********************2.姓名查询信息**********************\n")
printf("* *\n")
printf("***********************************************************\n")
scanf(" %d", &n)
printf("输入查询信息:")
scanf(" %s", szMsg)
for (t = headtt=t->next)
{
if (1 == n)
{
if (!memcmp(szMsg, t->num, strlen(szMsg)))
printf("***********查询成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)
}
else if (2 == n)
{
if (!memcmp(szMsg, t->name, strlen(szMsg)))
printf("***********查询成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)
}
}
return
}
void MsgToFile()
{
FILE *fp
char szFile[32] = {0}
HK t
printf("文件路径:")
scanf(" %s", szFile)
fp = fopen(szFile, "w")
for (t = headtt=t->next)
{
fprintf(fp, "票号:%s|姓名:%s|身份证:%s|航班号:%s|座舱等级:%d|出发日期:%s|时间:%s|价格:%.2f\n",
t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)
}
fclose(fp)
}
int main(void)
{
int n
while(1)
{
printf("***********************************************************\n")
printf("* *\n")
printf("************************1.添加信息*************************\n")
printf("* *\n")
printf("************************2.删除信息*************************\n")
printf("* *\n")
printf("************************3.修改信息*************************\n")
printf("* *\n")
printf("************************4.查询信息*************************\n")
printf("* *\n")
printf("************************5.信息保存*************************\n")
printf("* *\n")
printf("************************6.退出*************************\n")
printf("* *\n")
printf("***********************************************************\n")
scanf(" %d", &n)
switch(n)
{
case 1:
AddMsg()
break
case 2:
DelMsg()
break
case 3:
ChangeMsg()
break
case 4:
FindMsg()
break
case 5:
MsgToFile()
break
case 6:
return 0
default:
break
}
}
return 0
}
//下面的是无须确定n,选择投票或退出程序就行#include <stdio.h>
#include <stdlib.h>
int a = 0, b = 0, c = 0, d = 0
void CHOICE()
{
char ch
printf("请输入票号: (A B C D)\n")
scanf("%c", &ch)
if (ch == 'A')
{
a = a + 1
printf("A得票数是: %d\n", a)
printf("B得票数是: %d\n", b)
printf("C得票数是: %d\n", c)
printf("D得票数是: %d\n", d)
return
}
else if (ch == 'B')
{
b = b + 1
printf("A得票数是: %d\n", a)
printf("B得票数是: %d\n", b)
printf("C得票数是: %d\n", c)
printf("D得票数是: %d\n", d)
return
}
else if (ch == 'C')
{
c = c + 1
printf("A得票数是: %d\n", a)
printf("B得票数是: %d\n", b)
printf("C得票数是: %d\n", c)
printf("D得票数是: %d\n", d)
return
}
else if (ch == 'D')
{
d = d + 1
printf("A得票数是: %d\n", a)
printf("B得票数是: %d\n", b)
printf("C得票数是: %d\n", c)
printf("D得票数是: %d\n", d)
return
}
else
{
printf("该投票无效!\n")
return
}
}
int main()
{
int choice
while(1)
{
printf("*****************************\n")
printf(" 1:投票 2:退出 \n")
printf("*****************************\n")
printf("请选择: \n")
scanf("%d", &choice)
fflush(stdin)
switch(choice)
{
case 1:
CHOICE()
break
case 2:
exit(1)
}
}
return 0
}