c语言课程设计价格表(c语言课程设计高速公路计费系统)

2025-10-12 12:15:01 0

c语言课程设计价格表(c语言课程设计高速公路计费系统)

本篇文章给大家谈谈c语言课程设计价格表,以及c语言课程设计高速公路计费系统对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

c语言课程设计高速公路计费系统

#include《stdio.h》
#include《stdlib.h》
#include《string.h》
#include《conio.h》
#define N 10
// 定义三个入口到出口的路程分别是l1 l2 l3
struct vehicle//车辆信息
{
char num;//车牌号
char variety;//车辆类型a,b,c(大,中,小)
int entime;//进入时间
char enter;//进入口1,2,3……分别为各个入口
}ve;
int count=0;
FILE *fp;
//函数声明//
void menu();//主菜单
void input();//输入函数
void show();
void all();
void readfile();//从文件导入
void writefile();//写入
void main()
{
readfile();
while(1)
{
menu();
}
}
void readfile()//从文件导入
{
if((fp=fopen("vehicle.txt","r"))==NULL)
{
printf("\n\t\t\t\t文件为空,请添加信息");
if((fp=fopen("vehicle.txt","w"))==NULL)
{
printf("\n\t\t\t建立失败");
exit(0);
}
else
{
printf("\n\t\t文件已建立");
printf("\n\t\tPress any key to get to mainmenu!");
getch();
return;
}
exit(0);
}
fseek(fp,0,2); /*文件指针fp指到到文件末尾*/
if(ftell(fp)》0) /*文件不为空*/
{
fseek(fp,0,0); /*文件指针指到文件开始位置*/
for(count=0;!feof(fp)&&fread(&ve,sizeof(struct vehicle),1,fp);count++);
printf("\n\t\t文件导入成功");
printf("\n\t\t按任意键进入系统");
getch();
return;
}
printf("\n\t\t\t已成功打开文件!");
printf("\n\t\t\tPress anykey to get back to mainmenu");
getch();
return;
}
void menu()
{system("cls");//清屏
char n;
printf("\n\n\n\n");
printf("\t\t☆★☆★☆★欢迎使用高速公路收费系统☆★☆★☆★\n");
printf("\t\t◇◇◇§§§◇◇◇◇主菜单◇◇◇◇§§§◇◇◇\n");
printf(" *********1.输入车辆信息*********\n");
printf(" *********2.显示车辆信息*********\n");
printf(" *********3.显示车辆总数*********\n");
printf(" *********4.保存退出系统 *********\n");
printf(" 请输入数字选择操作类型:\n");
n=getch();
switch(n)
{
case ’1’: input();break;
case ’2’: show();break;
case ’3’: all();break;
case ’4’: writefile();break;
default: break;
}
}
void input()
{ system("cls");
printf("请输入车辆信息\n");
printf("车牌号:\n");
scanf("%s",&ve.num);
printf("车辆类型(a,b,c分别代表大,中,小):\n");
scanf("%s",ve.variety);
printf("进入时间:\n");
scanf("%d",&ve.entime);
printf("入口(1,2,3代表三个入口):\n");
scanf("%s",&ve.enter);
count++;
printf("是否继续添加(Y/N)\n");
if(getch()==’y’||getch()==’Y’)
input();
}
void show()
{ system("cls");
char num;
char enter;
int i;
double a,b,c,l1=200,l2=300,l3=400;// 定义三个入口到出口的路程分别是l1 l2 l3(200 300 400)公里
printf("请输入车牌号:\n");
scanf("%s",num);
for(i=0;i《count;i++)
{if(strcmp(ve.num,num)==0)
{
printf("车辆信息:");
printf("车辆类型:%s\n",ve.variety);
printf("入口站:%s\n",ve.enter);
printf("进入时间:%d\n",ve.entime);
printf("车牌号:%s",ve.num);
}
}
for(i=0;i《count;i++)
{ if(strcmp(ve.enter,"1")==0)
{
a=0.5*l1;
printf("此车应缴费%f元",a);
}
else if(strcmp(ve.enter,"2")==0)
{
a=0.5*l2;
printf("此车应缴费%f元",a);
}
else if(strcmp(ve.enter,"3")==0)
{
a=0.5*l3;
printf("此车应缴费%f元",a);
}
else if(strcmp(ve.enter,"1")==0)
{
b=0.4*l1;
printf("此车应缴费%f元",b);
}
else if(strcmp(ve.enter,"2")==0)
{
b=0.4*l2;
printf("此车应缴费%f元",b);
}
else if(strcmp(ve.enter,"3")==0)
{
b=0.4*l3;
printf("此车应缴费%f元",b);
}
else if(strcmp(ve.enter,"1")==0)
{
c=0.3*l1;
printf("此车应缴费%f元",c);
}
else if(strcmp(ve.enter,"2")==0)
{
c=0.3*l2;
printf("此车应缴费%f元",c);
}
else if(strcmp(ve.enter,"3")==0)
{
c=0.3*l3;
printf("此车应缴费%f元",c);
}
}
getch();
return;
}
void writefile()
{
int i;
if((fp=fopen("vehicle.txt","w"))==NULL)
{
printf("\n\t\t文件打开失败");
}
for (i=0;i《count;i++)
{
if(fwrite(&ve,sizeof(struct vehicle),1,fp)!=1)
{
printf("\n\t\t写入文件错误!\n");
}
}
fclose(fp);
printf("\n\t\t通讯录文件已保存");
printf("\n\t\t按任意键退出程序\n\t\t");
exit(0);
}
void all()
{ system("cls");
printf("车辆总数为:%d",count);
getch();
return;
}

C语言利用数组解决火车价格表问题求完整程序语句

我写了一个完整的程序给你参考。
源代码如下(vc++ 6.0下编译通过):
#include 《stdio.h》
#include 《stdlib.h》
#define MAX_DATA_LEN 7//A,B,...,F,G
int main()
{
int i = 0, j = 0;
int m = 0, n = 0;
char site1 = 0, site2 = 0;
int train_ticket_price = {0};
char select_input = {0};
int select = 0;

train_ticket_price = 100;
for (i = 2; i 《 MAX_DATA_LEN; i++)
train_ticket_price + 100;
train_ticket_price = 110;
for (i = 3; i 《 MAX_DATA_LEN; i++)
train_ticket_price + 100;
train_ticket_price = 220;
train_ticket_price = 110;
train_ticket_price = 120;
train_ticket_price = 220;
train_ticket_price = 320;
train_ticket_price = 410;
train_ticket_price = 300;
train_ticket_price = 210;
train_ticket_price = 110;
train_ticket_price = 110;
train_ticket_price = 210;
train_ticket_price = 320;
train_ticket_price = 410;
train_ticket_price = 300;
train_ticket_price = 210;
train_ticket_price = 100;
train_ticket_price = 110;
train_ticket_price = 200;
train_ticket_price = 505;
train_ticket_price = 405;
train_ticket_price = 300;
train_ticket_price = 200;
train_ticket_price = 110;
train_ticket_price = 100;
train_ticket_price = 605;
for (i = 1; i 《 MAX_DATA_LEN-1; i++)
train_ticket_price - 100;
while (1)
{
m = 0;
n = 0;
printf("请输入两个站点名称:\n");
while (1)
{
fflush(stdin);
scanf("%c %c", &site1, &site2);
if ( (site1 》 ’G’ || site1 《 ’A’)
|| (site2 》 ’G’ || site2 《 ’A’) )
{
printf("输入站点名称错误,请重新输入: \n");
continue;
}
else
break;
}
for (i = 0; i 《 MAX_DATA_LEN; i++)
{
if (site1 == (’A’ + i))
{
m += i;
}
if (site2 == (’A’ + i))
{
n += i;
}
}
//printf("%d, %d\n", m, n);
printf("%c-》%c, 票价: %d\n", site1, site2, train_ticket_price);
printf("%c-》%c, 票价: %d\n", site2, site1, train_ticket_price);
printf("经过的站点:\n");
if ( (m+1) == n || (n+1) == m )
{
printf("%c和%c之间没有站点.\n", site1, site2);
}
else
{
if (m 》 n)
{
for (i = n+1; i 《 m; i++)
{
printf("%c ", ’A’+i);
}
printf("\n");
}
else
{
for (i = m+1; i 《 n; i++)
{
printf("%c ", ’A’+i);
}
printf("\n");
}
}
while (1)
{
printf("继续查询请输入1,退出请输入2 \n");
fflush(stdin);
scanf("%s", &select_input);
select = atoi(select_input);
if (select == 1)
{
break;
}
else if (select == 2)
{
exit(-1);
}
else
printf("选择错误,请重新输入:\n");
}
}
return 0;
}
希望对你有帮助。

c语言课程设计

刚为别人做了一个,和你这个很像,不过用的是单项链表方式而不是array.
自己修改下满足你的要求吧
#include 《stdio.h》
#include 《string.h》
#include 《stddef.h》
struct StudentCard {
int index; //学生号
char name; //姓名
int age; //年龄
char sex; //性别
int classroom; //班级
char school; //学校
char birthday; //出生年月
struct StudentCard *next; //到下一个学生卡,链表
};
typedef struct StudentCard ELEMENT; //自定义符号
typedef ELEMENT *LINK;
LINK add(LINK head){ //加入一个新的学生信息,该函数将返回一个struct的指针
int index,age,classroom;
char name;
printf("Please input index number: ");
scanf("%d",&index);
printf("Please input name: ");
scanf("%s",name);
printf("Please input age: ");
scanf("%d",&age);
printf("Please input sex(nan or nv): ");
scanf("%s",sex);
printf("Please input classroom: ");
scanf("%d",&classroom);
printf("Please input school: ");
scanf("%s",school);
printf("Please input birthday :");
scanf("%s",birthday);

if (!head){ //如果是头链表为空的情况,也就是输入第一个学生卡
head=malloc(sizeof(ELEMENT));
head-》index=index;
head-》age=age;
head-》classroom=classroom;
strcpy(head-》name,name);
strcpy(head-》sex,sex);
strcpy(head-》school,school);
strcpy(head-》birthday,birthday);
head-》next=NULL; //下一个元素为NULL,空
printf("Successful!\n");
return head; //返回头链
}
else{
LINK tail=head;//用一个哨兵指针指向头元素
while ((tail)&&(tail-》index!=index))
//在tail为NULL并且tail的index不与用户输入的index相等之前,tail一直跳到下一个元素
tail=tail-》next;
if (tail) //如果存在这个tail
printf("index has already existed! Failed!\n");
else{
tail=head;//再次初始化
while (tail-》next) //当哨兵的下一个元素存在时,哨兵跳到哨兵下一个元素
tail=tail-》next;
//当上面这个循环结束后,此时tail的下一个元素必定为NULL
tail-》next=malloc(sizeof(ELEMENT));//创建新的元素
tail=tail-》next; //跳转到下一个新创建的元素
tail-》index=index;
tail-》age=age;
tail-》classroom=classroom;
strcpy(tail-》name,name);
strcpy(tail-》sex,sex);
strcpy(tail-》school,school);
strcpy(tail-》birthday,birthday);
tail-》next=NULL;
printf("Successful!\n");
return head;
}
}
}
void Print_ALL(LINK head){//该函数输出所有学生信息
LINK tail=head;
if (!head) //如果头元素为NULL,就是链表无一个元素
printf("Empty List!\n");
else{
printf("Indx\tName\tAge\tSex\tClass\tSchool\tBirth\n");
while (tail){//知道哨兵为NULL之前,一直输出哨兵的内容
printf("%d\t%s\t",tail-》index,tail-》name);
printf("%d\t%s\t%d\t",tail-》age,tail-》sex,tail-》classroom);
printf("%s\t%s\n",tail-》school,tail-》birthday);
tail=tail-》next;
}
}
};
void Print_DEPEND_INDEX(LINK head){ //该函数输出指定的学生号的学生信息
int tem;
LINK tail=head;
printf("Please input the index number of student: ");
scanf("%d",&tem);
if (!head)
printf("Empty List!\n");
else{
while ((tail)&&(tail-》index!=tem))
tail=tail-》next;
if (!tail)
printf("student not existed!\n");
else{
printf("Indx\tName\tAge\tSex\tClass\tSchool\tBirth\n");
printf("%d\t%s\t",tail-》index,tail-》name);
printf("%d\t%s\t%d\t",tail-》age,tail-》sex,tail-》classroom);
printf("%s\t%s\n",tail-》school,tail-》birthday);
}
}
}
void Print_DEPEND_CLASS(LINK head){ //该函数输出指定的班级的学生信息
int tem;
LINK tail=head;
printf("Please input classroom: ");
scanf("%d",&tem);
if (!head)
printf("Empty List!\n");
else{
while ((tail)&&(tail-》classroom!=tem))
tail=tail-》next;
if (!tail)
printf("No such classroom!\n");
else{
printf("Indx\tName\tAge\tSex\tClass\tSchool\tBirth\n");
while (tail){
if (tail-》classroom==tem){
printf("%d\t%s\t",tail-》index,tail-》name);
printf("%d\t%s\t%d\t",tail-》age,tail-》sex,tail-》classroom);
printf("%s\t%s\n",tail-》school,tail-》birthday);
}
tail=tail-》next;
}
}
}
}
void Print_DEPEND_SEX(LINK head){ //该函数输出男或女同学信息
char tem;
printf("please input sex(nan or nv): ");
scanf("%s",tem);
if (!head)
printf("Empty List!\n");
else{
LINK tail=head;
while ((tail)&&(strcmp(tem,tail-》sex)!=0))
//当不相等或者tail有效时,tail跳到下一个元素
tail=tail-》next;
if (!tail)
printf("No %s student!\n",tem);
else{
tail=head;
printf("Indx\tName\tAge\tSex\tClass\tSchool\tBirth\n");
while (tail){
if (strcmp(tem,tail-》sex)==0){
printf("%d\t%s\t",tail-》index,tail-》name);
printf("%d\t%s\t%d\t",tail-》age,tail-》sex,tail-》classroom);
printf("%s\t%s\n",tail-》school,tail-》birthday);
}
tail=tail-》next;
}
}
}
}
LINK Edit(LINK head){ //该函数用来修改信息
int tem;
LINK tail=head;
printf("Please input index of student: ");
scanf("%d",&tem);
if (!head){
printf("Empty List!\n");
return NULL;
}
else{
while ((tail)&&(tail-》index!=tem))
tail=tail-》next;
if (!tail){
printf("No such student!\n");
return head;
}
else{
printf("Please input name: ");
scanf("%s",tail-》name);
printf("Please input age: ");
scanf("%d",&tail-》age);
printf("Please input sex(nan or nv): ");
scanf("%s",tail-》sex);
printf("Please input classroom: ");
scanf("%d",&tail-》classroom);
printf("Please input school: ");
scanf("%s",tail-》school);
printf("Please input birthday :");
scanf("%s",tail-》birthday);
printf("Edit successful!\n");
return head;
}
}
}
LINK DELETE(LINK head){ //该函数用来删除学生信息
int tem;
LINK tail=head;
printf("Please input index of student: ");
scanf("%d",&tem);
if (!head){
printf("Empty List!\n");
return NULL;
}
else if ((head-》index==tem)&&(!head-》next)){//当头元素满足并且链表只有一个元素
printf("Deleted!\n");
return NULL;
}
else if ((head-》index==tem)&&(head-》next)){//当头元素满足并且链表有许多元素
printf("Deleted!\n");
return head-》next;
}
else{ //当满足条件的元素在链表中间或者结尾
while ((tail)&&(tail-》index!=tem))
tail=tail-》next;
if (!tail){
printf("No such student!\n");
return head;
}
else{
if (!tail-》next){//当满足条件的元素在链表结尾
LINK tail2=head;//新的哨兵
while (tail2-》next!=tail)
tail2=tail2-》next;
tail2-》next=NULL; //直接指向为NULL,表示链表尾,跳过tail
printf("Deleted!\n");
return head;
}
else{ //当满足条件的元素在链表中间
LINK tail2=head;//新的哨兵
while (tail2-》next!=tail)
tail2=tail2-》next;
tail2-》next=tail-》next; //跳过tail这个元素
printf("Deleted!\n");
return head;
}
}
}
}
void Display_MENU(){
printf("\t*********studentcard management system*********\n");
printf("\t1.Input student’s informations (add a student)\n");
printf("\t2.Print all students’ informations\n");
printf("\t3.Input index number,print selected student’s information\n");
printf("\t4.Input classroom number,print informations of those students\n");
printf("\t5.Input index number, modify information\n");
printf("\t6.Input index number, remove information\n");
printf("\t7.Print nan or nv informations\n");
printf("\t8.Display Menu\n");
printf("\t9.Exit\n");
printf("\t***********************************************\n");
}
int main(){
LINK head=NULL; //链表头的初始化
int asker;
Display_MENU();
while(1){
printf("》》");
scanf("%d",&asker);
if (asker==1)//加入新学生信息
head=add(head);
else if (asker==2)//输出所有学生信息
Print_ALL(head);
else if (asker==3) //输入学生号,输出学生信息
Print_DEPEND_INDEX(head);
else if (asker==4) //输入班级,输出学生信息
Print_DEPEND_CLASS(head);
else if (asker==5) //输入学生号,修改学生信息
head=Edit(head);
else if (asker==6) //输入学生号,删除学生信息
DELETE(head);
else if (asker==7) //输入男或女,输出学生信息
Print_DEPEND_SEX(head);
else if (asker==8) //显示菜单
Display_MENU();
else if (asker==9) //退出程序,也就是退出while(1)循环
break;
else
printf("please select correct number!\n");
}
printf("system log-out!\n");
return 0;
}

c语言课程设计

#include 《stdio.h》
#include 《stdlib.h》
#include 《string.h》
#include 《conio.h》
struct record
{
char id;
char name;
char phone;
char adress;
char postcode;
char e_mail;
}student;
int num=0;//外部变量num为文件中的纪录数
FILE *fp;
void mainmenu();//主菜单
void newrecord();//新添纪录
void searchmenu();//查询菜单
void searchbyid();//按学号查询
void searchbyname();//按姓名查询
void searchbyphone();//按电话查询
void deletemenu();//删除菜单
void deleteall();//删除所有
void deleteone();//删除单个
void showall();//茄梁显示所有
void readfromfile();//读取文件
void writetofile();//写入文件
void deletebyid();//按学号删除
void deletebyname();//按姓名删除
void listbyid();//按学号排序
void listbyname();//按姓名排序
void listmenu();//排序菜单
void main()
{
readfromfile();
while (1)
{
mainmenu();
}
}
void readfromfile()//从文件导入
{
if((fp=fopen("student.bin","rb"))==NULL)
{
printf("\n\颤芹运t\t通讯录文件不存在");
if ((fp=fopen("student.bin","wb"))==NULL)
{
printf("\n\t\t建立失败");
exit(0);
}
else
{
printf("\n\t\t通讯录文件已建立");
printf("\n\t\t按任意键进入主菜单");
getch();
return;
}
exit(0);
}
fseek(fp,0,2); /*文件位置指针移动到文件末首森尾*/
if (ftell(fp)》0) /*文件不为空*/
{
rewind(fp); /*文件位置指针移动到文件开始位置*/
for (num=0;!feof(fp) && fread(&student,sizeof(struct record),1,fp);num++);
printf("\n\t\t文件导入成功");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
printf("\n\t\t文件导入成功");
printf("\n\t\t通讯录文件中无任何纪录");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
void mainmenu()//主菜单
{
char choic;
system("cls");
printf("\n\t\t******************** 主菜单 ********************");
printf("\n\t\t*********** 1-新添纪录 2-查询菜单 ************");
printf("\n\t\t*********** 3-删除菜单 4-记录排序 ************");
printf("\n\t\t*********** 5-保存退出 6-不保存退出***********");
printf("\n\t\t************************************************");
printf("\n\t\t请选择:");
choic=getch();
switch (choic)
{
case ’1’:newrecord();break;
case ’2’:searchmenu();break;
case ’3’:deletemenu();break;
case ’4’:listmenu();break;
case ’5’:writetofile();break;
case ’6’:exit(0);
default:mainmenu();
}
}
void searchmenu()//查询菜单
{
char choic;
system("cls");
printf("\n\t\t******************* 查询菜单 *******************");
printf("\n\t\t********** 1-显示所有 2-按学号查询 ************");
printf("\n\t\t********** 3-按姓名查询4-按电话查询 ************");
printf("\n\t\t********** 5-返回主菜单 ************");
printf("\n\t\t************************************************");
printf("\n\t\t请选择:");
choic=getch();
switch (choic)
{
case ’1’:showall();break;
case ’2’:searchbyid();break;
case ’3’:searchbyname();break;
case ’4’:searchbyphone();break;
case ’5’:mainmenu();break;
}
}
void deletemenu()//删除菜单
{
char choic;
if(num==0)
{
printf("\n\t\t对不起,文件中无任何纪录");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
system("cls");
printf("\n\t\t******************* 删除菜单 *******************");
printf("\n\t\t*********** 1-删除所有 2-删除单个 ***********");
printf("\n\t\t*********** 3-返回主菜单 ***********");
printf("\n\t\t************************************************");
printf("\n\t\t请选择:");
choic=getch();
switch (choic)
{
case ’1’:deleteall();break;
case ’2’:deleteone();break;
case ’3’:mainmenu();break;
default:mainmenu();break;
}
}
void deleteall()//删除所有
{
printf("\n\t\t确认删除?(y/n)");
if (getch()==’y’)
{
fclose(fp);
if ((fp=fopen("student.bin","wb"))==NULL)
{
printf("\n\t\t不能打开文件,删除失败");
readfromfile();
}
num=0;
printf("\n\t\t纪录已删除,按任意键返回主菜单");
getch();
return;
}
else
return;
}
void deletebyname()//按姓名删除
{
int a=0;
int findmark=0;
int j;
int deletemark=0;
int i;
char name;
printf("\n\t\t请输入要删除学生姓名:");
scanf("%s",name);
for (i=a;i《num;i++)
{
if (strcmp(student.name,name)==NULL)
{
printf("\n\t\t以下是您要删除的学生纪录:");
findmark++;
printf("\n\t\t________________________________");
printf("\n\t\t学号: %s",student.id);
printf("\n\t\t姓名: %s",student.name);
printf("\n\t\t电话: %s",student.phone);
printf("\n\t\t地址: %s",student.adress);
printf("\n\t\te-mail:%s",student.e_mail);
printf("\n\t\t________________________________");
printf("\n\t\t是否删除?(y/n)");
if (getch()==’y’)
{
for (j=i;j《num-1;j++) /*纪录移动,从stud数组中删除之*/
student;
num--;
deletemark++;
printf("\n\t\t删除成功");
if((i+1)《num)
{
printf("\n\t\t是否继续删除相同姓名的同学信息?(y/n)");
if (getch()==’y’)
{
a=i;
continue;
}
}
printf("\n\t\t是否继续删除?(y/n)");
if (getch()==’y’)
deletebyname();
return;
}
if((i+1)《num)
{
printf("\n\t\t是否继续删除相同姓名的同学信息?(y/n)");
if (getch()==’y’)
{
a=i;
continue;
}
}
}
else
continue;
}
if ((deletemark==0)&&(findmark==0))
{
printf("\n\t\t没有该同学的纪录");
printf("\n\t\t是否继续删除?(y/n)");
if (getch()==’y’)
deletebyid();
return;
return;
}
else if (findmark!=0)
{
printf("\n\t\t没有重名信息");
printf("\n\t\t没有该同学的纪录");
printf("\n\t\t是否继续删除?(y/n)");
if (getch()==’y’)
deletebyid();
return;
return;
}
}
void deletebyid()//按学号删除
{
int i,j;
int deletemark=0;
char id;
printf("\n\t\t请输入要删除学生学号:");
scanf("%s",id);
if(num==0)
{
printf("\n\t\t对不起,文件中无任何纪录");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
for (i=0;i《num;i++)
{
if (strcmp(student.id,id)==NULL)
{
printf("\n\t\t以下是您要删除的学生纪录:");
printf("\n\t\t学号: %s",student.id);
printf("\n\t\t姓名: %s",student.name);
printf("\n\t\t电话: %s",student.phone);
printf("\n\t\t地址: %s",student.adress);
printf("\n\t\te-mail:%s",student.e_mail);
printf("\n\t\t是否删除?(y/n)");
if (getch()==’y’)
{
for (j=i;j《num-1;j++) /*纪录移动,从stud数组中删除之*/
student;
num--;
deletemark++;
printf("\n\t\t删除成功");
printf("\n\t\t是否继续删除?(y/n)");
if (getch()==’y’)
deletebyid();
return;
}
else
return;
}
continue;
}
if (deletemark==0)
{
printf("\n\t\t没有该同学的纪录");
printf("\n\t\t是否继续删除?(y/n)");
if (getch()==’y’)
deletebyid();
return;
}
}
void newrecord()//添加纪录
{
printf("\n\t\t**************** 请输入学生信息 ****************\n");
printf("\n\t\t输入学号:");
scanf("%s",&student.id);
printf("\n\t\t输入姓名:");
scanf("%s",&student.name);
printf("\n\t\t输入电话号码:");
scanf("%s",&student.phone);
printf("\n\t\t输入地址:");
scanf("%s",&student.adress);
printf("\n\t\t输入邮编:");
scanf("%s",&student.postcode);
printf("\n\t\t输入e-mail:");
scanf("%s",&student.e_mail);
num++;
printf("\n\t\t是否继续添加?(Y/N):");
if (getch()==’y’)
newrecord();
return;
}
void showall()//显示所有
{
int i;
system("cls");
if(num!=0)
{
printf("\n\t\t*************** 以下为通讯录所有信息************");
for (i=0;i《num;i++)
{
printf("\n\t\t学号: %s",student.id);
printf("\n\t\t姓名: %s",student.name);
printf("\n\t\t电话: %s",student.phone);
printf("\n\t\t地址: %s",student.adress);
printf("\n\t\t邮编: %s",student.postcode);
printf("\n\t\te-mail:%s",student.e_mail);
printf("\t\t");
if (i+1《num)
{
printf("\n\t\t__________________________");
system("pause");
}
}
printf("\n\t\t************************************************");
}
else
printf("\n\t\t通讯录中无任何纪录");
printf("\n\t\t按任意键返回主菜单:");
getch();
return;
}
//按电话查询
void searchbyphone()
{
int mark=0;
int i;
int a=0;
printf("\n\t\t****************** 按电话查找 ******************");
char phone;
printf("\n\t\t请输入学号:");
scanf("%s",phone);
for(i=0;i《num;i++)
{
if (strcmp(student.phone,phone)==0)
{
printf("\n\t\t************** 以下是您查找的学生信息 **********");
printf("\n\t\t学号: %s",student.id);
printf("\n\t\t姓名: %s",student.name);
printf("\n\t\t电话: %s",student.phone);
printf("\n\t\t地址: %s",student.adress);
printf("\n\t\te-mail:%s",student.e_mail);
printf("\n\t\t************************************************");
printf("\n\t\t按任意键返回主菜单:");
mark++;
getch();
return;
}
}
if (mark==0)
{
printf("\n\t\t没有改学生的信息");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
}
void searchbyname()//按姓名查询
{
int mark=0;
int i;
int a=0;
printf("\n\t\t***************** 按姓名查找 *******************");
char name;
printf("\n\t\t请输入姓名:");
scanf("%s",name);
for(i=a;i《num;i++)
{
if (strcmp(student.name,name)==0)
{
printf("\n\t\t************* 以下是您查找的学生信息 ***********");
printf("\n\t\t学号: %s",student.id);
printf("\n\t\t姓名: %s",student.name);
printf("\n\t\t电话: %s",student.phone);
printf("\n\t\t地址: %s",student.adress);
printf("\n\t\te-mail:%s",student.e_mail);
printf("\n\t\t************************************************");
mark++;
if ((i+1)《num)
{
printf("\n\t\t是否继续查找相同名字的学生信息:(y/n)");
if (getch()==’y’)
{
a=i;
continue;
}
else
return;
}
else
{
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
}
}
if(mark!=0)
{
printf("\n\t\t没有相同姓名的学生纪录");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
else
{
printf("\n\t\t没有相同姓名的学生纪录");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
}
void searchbyid()//按学号查询
{
int mark=0;
int i;
int a=0;
printf("\n\t\t****************** 按学号查找 ******************\n");
char id;
printf("\n\t\t请输入学号:");
scanf("%s",id);
for(i=0;i《num;i++)
{
if (strcmp(student.id,id)==0)
{
printf("\n\t\t************** 以下是您查找的学生信息 **********");
printf("\n\t\t学号: %s",student.id);
printf("\n\t\t姓名: %s",student.name);
printf("\n\t\t电话: %s",student.phone);
printf("\n\t\t地址: %s",student.adress);
printf("\n\t\te-mail:%s",student.e_mail);
printf("\n\t\t************************************************");
printf("\n\t\t按任意键返回主菜单:");
mark++;
getch();
return;
}
}
if (mark==0)
{
printf("\n\t\t没有改学生的信息");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
}
void writetofile()//写入文件
{
int i;
if ((fp=fopen("student.bin","wb"))==NULL)
{
printf("\n\t\t文件打开失败");
}
for (i=0;i《num;i++)
{
if (fwrite(&student,sizeof(struct record),1,fp)!=1)
{
printf("\n\t\t写入文件错误!\n");
}
}
fclose(fp);
printf("\n\t\t通讯录文件已保存");
printf("\n\t\t按任意键退出程序\n\t\t");
exit(0);
}
void deleteone()//删除单个
{
char choic;
printf("\n\t\t1-按学号删除 2-按姓名删除");
printf("\n\t\t请选择:");
choic=getch();
switch (choic)
{
case ’1’:deletebyid();break;
case ’2’:deletebyname();break;
}
}
void listbyname()//按姓名排序
{
int i,j;
struct record tmp;
for (i=1;i《num;i++)
{
if(strcmp(student.name)《0)
{
tmp=student;
j=i-1;
do
{
student;
j--;
}while ((strcmp(tmp.name,student.name)《0&&j》=0));
student=tmp;
}
}
printf("\n\t\t排序成功,是否显示?(y/n)");
if (getch()==’y’)
showall();
return;
}
void listbyid()//按学号排序
{
int i,j;
struct record tmp;
for (i=1;i《num;i++)
{
if(strcmp(student.id)《0)
{
tmp=student;
j=i-1;
do
{
student;
j--;
}while ((strcmp(tmp.id,student.id)《0)&&j》=0);
student=tmp;
}
}
printf("\n\t\t排序成功,是否显示?(y/n)");
if (getch()==’y’)
showall();
return;
}
void listmenu()//排序菜单
{
char choic;
if(num==0)
{
printf("\n\t\t对不起,文件中无任何纪录");
printf("\n\t\t按任意键返回主菜单");
getch();
return;
}
system("cls");
printf("\n\t\t******************* 排序菜单 *******************");
printf("\n\t\t********** 1-按学号排序 2-按姓名排序 **********");
printf("\n\t\t********** 3-返回主菜单 **********");
printf("\n\t\t************************************************");
printf("\n\t\t请选择:");
choic=getch();
switch(choic)
{
case ’1’:listbyid();break;
case ’2’:listbyname();break;
case ’3’:mainmenu();break;
default:mainmenu();break;
}
}
请采纳答案,支持我一下。

C语言课程设计

3、班级通讯录管理系统设计与实现
以本班同学的具体数据为背景,设计一个本班同学实现以下功能:
1)通讯录(添加、删除) ;
2)按不同的项进行查找;
3)对已存在的通讯录按不同的项排序;
4)将通讯录写入文件;
5)从文件读入通讯录。
备注:通讯录至少应该有以下数据项:姓名,地址,电话,邮编,E-mail。

***隐藏网址***
提取码: 1111

6、成绩记录簿设计与实现
实现以下功能:
1)创建信息并以磁盘文件保存;
2)读取磁盘文件并显示输出所有学生的成绩;
3)按学号或姓名查询成绩;
4)添加成绩记录;
5)修改指定姓名或学号的学生的成绩并可存盘;
6)显示输出60分以下、60 79、80 89、90分以上各分数段的学生信息。
备注:每个学生信息包括:学号、姓名、C语言成绩。

***隐藏网址***
提取码: 1111

7、学生籍贯信息记录簿设计与实现
实现以下功能:
1)创建信息并以磁盘文件保存;
2)读取磁盘文件并显示输出所有学生的籍贯信息;
3)按学号或姓名查询其籍贯;
4)按籍贯查询并输出该籍贯的所有学生;
5)能添加、删除和修改学生的籍贯信息;
6)显示输出四川籍和非四川籍学生的信息并可分别存盘。
备注:每个学生信息包括:学号、姓名、籍贯

***隐藏网址***
提取码: 1111

9、图书信息管理系统设计与实现
实现卜卜以下功能:
1)系统以菜单方式工作;
2)图书信息录入功能(图书信息用文件保存);
3)图书信息浏览功能;
4)查询和排序功能;
备注:图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

***隐藏网址***
提取码: 1111

10、学生信息管理系统设计与实现
实现以下功能:
1)系统以菜单方式工作;
2)学生信息录入功能(学生备弊凯信息用文件保存) ;
3)学生信息浏览功能;
4)查询、排序功能(至少两种查询依据和两种排序依据);
5)学生信息删除、修改功能。
备注:学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-
mail等。

***隐藏网址***
提取码: 1111

12、职工工作量统计系统设计与实现
完成以下功能:
1)输入职工工号和完成的产品数量,程序允许同- -职工有多次输入,由程序对
其完成的产品数量实现累计;
2)按完成数量对职工排序,并确定名次;
3)按完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们
的工号(工号由小到大顺序输出)。

***隐藏网址***
提取码: 1111

c语言课程设计报告,100行左右,要注解

#include 《蠢陪雹stdio.h》
#include 《string.h》
#include 《乱弊stdlib.h》
#define N 10
struct library {
int num;
char book_name;
char writer;
char sort_num;
char pub_company;
char pub_time;
char prise;
};
typedef struct library LIB; /*结构体的定义用于存放书籍及借书的信息*/
LIB lib;
FILE *fp; int all=0;
int menu(void);
void input(void);
void output(void);
void save(void);
void del(void);
void search(void);
void xiugai(void);
main()
{
for(;;)
{
switch(menu()) {
case 1:input();break;
case 2:output();break;
case 3:save();break;
case 4:search();break;
case 5:xiugai();break;
case 6:del();break;
case 7:sort();break;
case 0:exit(1);break;
} /*SWITCH定义函数输出*/
}
}
int menu(void)
{
char m;
int n; printf(" *********************WELCOME**********************\n\n\n\n\n");
printf("\t\t\t-----图书信息管理系统----\n");
printf("\t\t1:输入\n");
printf("\t\t2:输出\n");
printf("\t\t3:保存\n");
printf("\t\t4:查找\n");
printf("\t\t5:修改\n");
printf("\t\t6:删除\n");
printf("\t\t7:统计\n");
printf("\t\t0:退出\n");
printf("\t\tplease choose a operation(0-6):\n");
scanf("%s",m);
n=atoi(m);
return(n);
} /*主要界面*/
void input(void)
{
int i;
char m;
for(i=all;i《N;i++)
{
all++;
printf("请输入信息:\n");
printf("\t\t号码:\n");
scanf("%d",&lib.num);
printf("\t\t书名:\n");
scanf("%s",lib.book_name);
printf("\t\带帆t作者:\n");
scanf("%s",lib.writer);
printf("\t\tsort_num:\n");
scanf("%s",lib.sort_num);
printf("\t\t出版商:\n");
scanf("%s",lib.pub_company);
printf("\t\t出版时间:\n");
scanf("%s",lib.pub_time);
printf("\t\t价格:\n");
scanf("%s",lib.prise);
a: printf("\t\tyes/哦了?\n");
printf("\t\t1:yes\n");
printf("\t\t2:no\n");
scanf("%s",m);
if(atoi(m)==1)
continue;
else if(atoi(m)==2)
return;
else
{
printf("\t\t错误!\n");
goto a;
} /* 输入条件查找*/
}
}
void output(void)
{
int i;
for(i=0;i《all;i++)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
}
} /*输出书名作者出版时间价格等*/
void save(void)
{
int i;
if((fp=fopen("file.c","wb"))==NULL)
{
printf("can not open the file");
exit(1);
}
for(i=0;i《all;i++)
{
if(fwrite(&lib,sizeof(LIB),1,fp)!=1)
{
printf("can not write!");
exit(1);
}
} /*条件不符合时拒绝存储*/
fclose(fp);
}
void search(void)
{
int i,flag;
char m;
char name;
printf("\t\t请选择您的存储方式:\n");
printf("\t\t1:按书名!\n");
printf("\t\t2:按作者!\n");
scanf("%s",m);
i=atoi(m);
switch(i)
{
case 1:{
printf("\t\t请输入书名:\n");
scanf("%s",name);
flag=0;
for(i=0;i《N;i++)
{
if(strcmp(name,lib.book_name)==0)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\t没有这本书!\n");
}
case 2:{
printf("\t\t请输入作者:\n");
scanf("%s",name);
flag=0;
for(i=0;i《N;i++)
{
if(strcmp(name,lib.writer)==0)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\t没有这个作者!\n");
}
} /*查找图书按书名或作者并输出*/
}
void xiugai(void)
{
int i,flag;
char name;
printf("\t\t请输入要修改的书名 :\n");
scanf("%s",name); /*修改书名*/
flag=0;
for(i=0;i《N;i++)
{
if(strcmp(name,lib.book_name)==0)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
printf("\t\tplease input xiugai’s the informations:\n");
printf("\t\tnum:\n");
scanf("%d",&lib.num);
printf("\t\tbook_name:\n");
scanf("%s",lib.book_name);
printf("\t\twriter:\n");
scanf("%s",lib.writer);
printf("\t\tsort_num:\n");
scanf("%s",lib.sort_num);
printf("\t\tpub_company:\n");
scanf("%s",lib.pub_company);
printf("\t\tpub_time:\n");
scanf("%s",lib.pub_time);
printf("\t\tprise:\n");
scanf("%s",lib.prise);
flag=1;break;
}
} /*增加图书*/
if(flag==0)
printf("\t\t没有找到啊!\n");
}
void del(void)
{
int i,j,flag;
char name;
printf("\t\t请输入要删除的书名:\n");
scanf("%s",name);
flag=0;
for(i=0;i《N;i++)
{
if(strcmp(name,lib.book_name)==0)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
for(j=N;j》i;j--)
{
lib.num;
strcpy(lib.book_name);
strcpy(lib.writer);
strcpy(lib.sort_num);
strcpy(lib.pub_company);
strcpy(lib.pub_time);
strcpy(lib.prise);
flag=1;
printf("\t\t已经删除!\n");
break;
}
}
}
if(flag==0)
printf("\t\t没有这本书!\n");
} /*删除图书*/

C语言课程设计

(C语言)职工信息管理
有任何问题可以到这里留言:
***隐藏网址***
【要求】
职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(缺竖职工号不相等)。试设计一职工信息管理系统,使之能够提供下列功能:
(1)系统以菜单方式工作
(2)职工信息录入功能(职工信息用文件保存)
(3)职工信息浏览功能
(4)职工信息查询功能,查询方式:
1)按学历查询
2)按职工号查询
(5)职工信伏镇大息删除,修改功能(可选项)。
#include《string.h》
void menu()
{
int n,w1;
do
{
printf("\t\t************************************************\n\n");
printf("\t\t************************************************\n\n");
printf("\t\t *** choose function ************\n\n");
printf("旅仿\t\t *** 1 Enter new data ************\n\n");
printf("\t\t *** 2 Modify data ************\n\n");
printf("\t\t *** 3 Search by people.xueli and num*****\n\n");
printf("\t\t *** 4 Browse data ************\n\n");
printf("\t\t *** 5 add data ************\n\n");
printf("\t\t *** 6 Exit ************\n\n");
printf("\t\t************************************************\n\n");
printf("\t\t************************************************\n\n");
printf("Choose your number(1-6):\b\b");
scanf("%d",&n);
if(n《1||n》6)
w1=1;
else w1=0;
}
while(w1==1);
switch(n)
{
case 1:enter();break;
case 2:modify();break;
case 3:search();break;
case 4:browse();break;
case 5:add();break;
case 6:exit(0);
}
}
main()
{
system("cls");
menu();
}
#define N 100
struct people
{
char num;
char name;
char sex;
char age;
char xueli;
char gongzhi;
char address;
char telephone;
}people;
# include 《stdio.h》
enter()
{
int i,n;
printf("How many people(0-%d)?:",N-1);
scanf("%d",&n);
printf("\n Enter data now\n\n");
for(i=0;i《n;i++)
{
printf("\n Input %dth people record.\n",i+1);
input(i);
}
if(i!=0)save(n);
printf_back();
}
browse()
{
int i,j,n;
n=load();
printf_face();
for(i=0;i《n;i++)
{
if((i!=0)&&(i%10==0))
{
printf("\n\nPass any key to continue ....");
getch();
puts("\n\n");
}
printf_one(i) ;
}
printf("\tThere are %d record.\n",n);
printf("\nPass any key to back ...");
getch();
menu();
}
add()
{
int i,n,m,k;
FILE*fp;
n=load();
printf("How many people are you want to add(0-%d)?:",N-1-n);
scanf("%d",&m);
k=m+n;
for(i=n;i《k;i++)
{
printf("\nInput %dth people record.\n",i-n+1 );
input(i);
}
if((fp=fopen("Pro.txt","ab"))==NULL)
{
printf("cannot open file\n");
}
for(i=n;i《k;i++)
if(fwrite(&people,sizeof(struct people),1,fp)!=1)
printf("file write error\n");
fclose(fp);
printf_back();
}
search()
{
int i,n,k,w1=1,w2,w3,w4,m,a;
struct people p;
n=load();
do
{
printf("\n\nWhich way do you want to choose? \n\t1).By xueli 2).By num \b\b");
scanf("%d",&m);
switch(m)
{
case 1:
do
{ k=-1;
printf("\n\nEnter xeuli that you want to search! xueli.");
scanf("%s",p.xueli);
printf_face();
for(i=0;i《n;i++)
if(strcmp(p.xueli,people.xueli)==0)
{ k=i;
printf_one(k);break;
}
if(k==-1)
{ printf("\n\nNO exist!please");
printf("\n\nAre you again?\n\t1).again 2).NO and back \b\b");
scanf("%d",&w1);
if(w1==2)
printf_back();
}
}
while(k==-1&&w1==1);break;
case 2:
do
{k=-1;
printf("\n\nEnter num that you want to search! num.");
scanf("%s",p.num);
printf_face();
for(i=0;i《n;i++)
if(strcmp(p.num,people.num)==0)
{k=i;
printf_one(k);break;
}
if(k==-1)
{printf("\n\nNO exist!please");
printf("\n\nAre you again?\n\t1).again 2).NO and back \b\b");
scanf("%d",&w1);
if(w1==2)
printf_back();
}
}
while(k==-1&&w1==1);break;
}
w4=0;w3=0;
if(k!=-1)
{printf("\n\nWhat do you want to do?\n\t 1).Search 2).Modify 3).Delete 4).Back menu \b\b");
scanf("%d",&w2);
switch(w2)
{case 2:w3=modify_data(k,n);break;
case 3:{printf("\nAre you sure?\n\t 1).Sure 2).No and back \b\b");
scanf("%d",&w4);
if(w4==1)
for(a=k;a《n;a++)
{strcpy(people.num);
strcpy(people.name);
strcpy(people.sex);
strcpy(people.age);
strcpy(people.xueli);
strcpy(people.gongzhi);
strcpy(people.address);
strcpy(people.telephone);
}
break;
}
}
if(w3==1||w4==1)
{save(n);
printf("\n\nSuccessful.^_^.");
printf("\n\nWhant do you want to do? \n\t 1).Search another 2).Back \b\b" );
scanf("%d",&w2);
}
}
}
while(w2==1);
menu();
}
modify()
{struct people p;
FILE *fp;
int i,n,k,w0=1,w1,w2=0;
n=load();
do
{
k=-1;
printf_face();
for(i=0;i《n;i++)
{if((i!=0)&&(i%10==0))
{printf("\n\nRemember NO.which needed modify.pass any key to contiune ...");
getch();
puts("\n\n");
}
printf_one(i);
}
do
{printf("\n\nEnter NO.that you want to modify! NO.:");
scanf("%s",p.num);
for(i=0;i《n;i++)
if(strcmp(p.num,people.num)==0)
{k=i;
p=people;
}
if(k==-1)printf("\n\nNO exist!please again");
}while(k==-1);
printf_face();
printf_one(k);
w1=modify_data(k,n);
if(w1==1)
{printf("\nSuccessful ^_^.\n\nAre you modify another ?\n\n\t 1).Yes 2).Back with save\t\b\b");
scanf("%d",&w0);
w2=1;
}
else
{w0=0;
if(w2==1)
people=p;
}
if(w0!=1&&w2==1)
save(n);
}while(w0==1);
menu();
}
save(int n)
{FILE *fp;
int i;
if((fp=fopen("Pro.txt","wb"))==NULL)
{printf("\nCannot open file\n");
return NULL;
}
for(i=0;i《n;i++)
if(people.num!=0)
if(fwrite(&people,sizeof(struct people),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
load()
{FILE *fp;
int i;
if((fp=fopen("Pro.txt","rb"))==NULL)
{printf("\nCannot open file\n");
return NULL;
}
for(i=0;!feof(fp);i++)
fread(&people,sizeof(struct people),1,fp);
fclose(fp);
return(i-1);
}
input(int i)
{
no_input(i,i);
printf("num:");
scanf("%s",people.num);
printf("name:");
scanf("%s", people.name) ;
printf("sex:");
scanf("%s",people.sex);
printf("age:");
scanf("%s",people.age);
printf("xueli:");
scanf("%s",people.xueli);
printf("gongzhi:");
scanf("%s",people.gongzhi);
printf("address:");
scanf("%s",people.address);
printf("telephone:");
scanf("%s",people.telephone);
}
modify_data(int i)
{int c,w1;
do
{puts("\nmodify by=》\n\n 1).num 2).name 3).sex 4).ages 5).xueli 6)gongzhi 7)address 8)telephone ");
printf("Which you needed?:\b\b");
scanf("%d",&c);
if(c》8||c《1)
{puts("\nChoice error!Please again!");
getchar();
}
}while(c》8||c《1);
do
{switch(c)
{
case 1:printf("num:");scanf("%s",people.num);break;
case 2:printf("name:");scanf("%s",people.name);break;
case 3:printf("sex:");scanf("%s",people.sex);break;
case 4:printf("age:");scanf("%s",people.age);break;
case 5:printf("xueli:");scanf("%s",people.xueli);break;
case 6:printf("gongzhi:");scanf("%s",people.gongzhi);break;
case 7:printf("address:");scanf("%s",people.address);break;
case 8:printf("telephone:");scanf("%s",people.telephone);break;
}
puts("\nNow:\n");
printf_face();
printf_one(i);
printf("\nAre you sure?\n\n\t 1).Sure 2).No and remodify 3).Back without save in this time \b\b");
scanf("%d",&w1);
}
while(w1==2);
return(w1);
}
no_input(int i,int n)
{int j,k,w1;
do
{w1=0;
for(j=0;people!=’\0’;j++)
if(people》’9’)
{puts("Input error!Only be made up of(0-9).Please reinput!\n");
w1=1;break;
}
if(w1!=1)
for(k=0;k《n;k++)
if(k!=i&&strcmp(people.num)==0)
{puts("This record is exist.please reinput!\n");
}
}
while(w1==1);
}
printf_face()
{
printf("\nnum name sex ages xueli gongzhi address telephone \n");
}
printf_one(int i)
{
int j;
printf("%7s%7s%7s%7s%7s%7s%10s%12s\n",people.age,people
.telephone);
}
printf_back()
{
int j,w;
printf("\n\n\tSuccessful.^_^\n\n");
printf("What do you want you to do?\n\n\t1).Browse all now\t2).Back: \b\b");
scanf("%d",&w);
if(w==1)
browse();
else menu();
}
***隐藏网址***

C语言课程设计

/*计算上个月每个人每种产品的销售额。
1)按销售额对销售员进行排序,输出排序结果(销售员代号)
2)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
3)输出统计报表如下:*/
#include 《stdio.h》
#include 《string.h》
#include 《conio.h》
#include 《stdlib.h》
#define Z 5
#define R 4 /*定义宏常量便于程序的一般化*/ /*R表示销售员个数*/
typedef struct /*缩短结构体变量名*/
{
int shangpin; /*定义结构体便于信息的存储和读写,辨别*/ /*R是表示商品的种类,最后一个为该销售员商品总和*/
}data;
void menu()
{ printf(" *******************************************************\n");
printf(" 0.结束操作\n");
printf(" 1.计算上个月每个人每种产品的销售额\n");
printf(" 2.按销售额对销售员进行排序,输出排序结果\n");
printf(" 3.统计每种产品的总销售额,输出排序结果\n");
printf(" 4.输出统计报表\n");
printf(" ******************************************************\n");
}
void data_read(data *x) /*读入函数使程序简洁*/
{
FILE *fp;
char fname;
int i;
printf("您想查询哪个月?\n");
printf("请输入月份:"); /*输入文件名,这样可以进行各个月份信息读入*/
scanf("%s",fname);
strcat(fname,".txt");/*连接文件属性*/
if((fp=fopen(fname,"rb"))==NULL) /*打开文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i《R;i++) /*读出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("读入信息出错!\n");
}
void data_count(data *x) /*计算上个月每个人每种产品的销售额*/
{
FILE *fp;
char fname;
int j,t; /*用于控制循环*/
int i,k,s; /*用于定义职工序号,产笑明品序号,产品数量*/
system("cls");
printf("您想计算哪个月?\n");
printf("请输入月份:"); /*输入文件名,这样可以进行各个前谨月份信息写入*/
scanf("碰悔告%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"wb"))==NULL) /*打开文件*/
{
printf("can not open the file\n");
exit(0);
}
for(j=0;j《R;j++) /*对商品数量清零*/
for(t=0;t《Z;t++)
(x+j)-》shangpin=0;
printf("please put the information about the 职工编号,产品编号,销售数量\n"); /*写入信息*/
for(j=0;;j++)
{
scanf("%d%d%d",&i,&k,&s);
if(i==0) /*输入职工为0时结束信息输入*/
break;
if(i》R||i《0||k》Z||k《0)
{
printf("the information error!\n"); /*避免输入信息出错*/
continue;
}
else
(x+i-1)-》shangpin+s;/*统计各个人的各种产品的数量,-1为了和数组中的序号相匹配*/
}
for(j=0;j《R;j++)
if(fwrite((x+j),sizeof(data),1,fp)!=1) /*把信息写入文件中便有以后调用*/
printf("write error!\n");
fclose(fp); /*关闭文件避免信息遗漏*/
}
void range_sxy(data *x) /*按销售额对销售员进行排序,输出排序结果*/
{
FILE *fp;
char fname;
int i,k,j,t,bianhao={0},z;
system("cls");
printf("你要哪个月的?\n");
printf("请输入月份:"); /*输入文件名,这样可以进行各个月份信息读入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打开文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i《R;i++) /*读出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("读入信息出错!"); /*读入信息提示*/
for(i=0;i《R;) /*用于存储职工编号*/
bianhao=i++;
printf("请输入按何种产品排序\n");
scanf("%d",&k);
k=k-1; /*便于与结构体中的数组值对应*/
for(i=0;i《R;i++) /*按K种产品对销售员排序,选择法排序*/
{
t=i;
for(j=i+1;j《R;j++)
if((x+bianhao)/*调用职工各自对应的结构体内的产品数量*/
t=j;
if(t!=i)
{
z=bianhao;
bianhao;
bianhao=z;
}
}
printf("按%d产品对销售员排序为:\n",k+1);
for(i=0;i《R;i++)
printf("%5d",bianhao+1);
getch();
fclose(fp);
}
void range_shangpin(data *x) /*统计每种产品的总销售额,输出排序结果*/
{
FILE *fp;
char fname;
int i,j,sum={0},z,t,k;
system("cls");
printf("您想计算哪个月的?\n");
printf("请输入月份:"); /*输入文件名,这样可以进行各个月份信息读入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打开文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i《R;i++) /*读出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("读入信息出错!");
for(i=0;i《Z;i++) /*对各种商品求和*/
for(j=0;j《R;j++)
sum;
for(i=0;i《Z;) /*用于存储商品编号*/
bianhao=i++;
for(i=0;i《Z;i++)
printf("%3d",bianhao);
for(i=0;i《Z;i++) /*对产品从高到低排序,选择法排序*/
{
t=i;
for(j=i+1;j《Z;j++) /*产品变化时,产品编号也随之变化,便于输出*/
if(sum)
t=j;
if(t!=i)
{
k=sum;
sum;
sum=k;
z=bianhao;
bianhao;
bianhao=z;
}
}
printf("输出产品排序\n");
printf("产品编号 数量\n");
for(i=0;i《Z;i++)
printf("%-10d%-10d\n",bianhao);
getch();
fclose(fp);
}
void data_out(data *x) /*输出统计报表*/
{
FILE *fp;
char fname;
int i,j,sum={0};
system("cls");
printf("您想计算哪个月?\n");
printf("请输入月份:"); /*输入文件名,这样可以进行各个月份信息读入*/
scanf("%s",fname);
strcat(fname,".txt");
if((fp=fopen(fname,"rb"))==NULL) /*打开文件*/
{
printf("can not open the file\n");
exit(0);
}
for(i=0;i《R;i++) /*读出信息*/
if(fread(x+i,sizeof(data),1,fp)!=1)
printf("读入信息出错!");
for(i=0;i《Z;i++) /*对各种商品求和*/
for(j=0;j《R;j++)
sum;
for(i=0;i《Z;i++) /*求商品总和*/
sum;
printf("输出统计报表如下:\n"); /*按要求输出统计表*/
printf("产品代号 销售之和 销售员代号\n");
for(i=0;i《R;i++)
for(j=0;j《Z;j++)
printf("%-10d%-10d%-10d\n",j+1,(x+i)-》shangpin,i+1);
printf("***********************************\n");
for(i=0;i《Z;i++)
{
if(i==0)
printf("%d产品之和 %-10d 总和 %-10d\n",i+1,sum);
else
printf("%d产品之和 %-10d\n",i+1,sum);
}
getch();
}
void main()
{
int i,choice;
data sxy; /*R表示职工的个数,前面的宏常量*/
for(i=0;;i++)
{
system("cls"); /*清频命令*/
menu(); /*菜单函数提示用户怎样选择*/
printf("你想做什么?\n");
printf("请选择:"); /*输入要进行的操作*/
scanf("%d",&choice);
if(choice==0) /*退出程序*/
break;
else
switch(choice)
{
case 1 : data_count(sxy);break; /*计算上个月每个人每种产品的销售额*/
case 2 : range_sxy(sxy);break; /*按销售额对销售员进行排序,输出排序结果*/
case 3 : range_shangpin(sxy);break; /*统计每种产品的总销售额,输出排序结果*/
case 4 : data_out(sxy);break; /*输出统计报表*/
}
}
}

关于c语言课程设计价格表和c语言课程设计高速公路计费系统的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

c语言课程设计价格表(c语言课程设计高速公路计费系统)

本文编辑:admin

本文相关文章:


谭浩强c语言跟谁的课(学c语言看过了谭浩强的书后还看谁的好呢)

谭浩强c语言跟谁的课(学c语言看过了谭浩强的书后还看谁的好呢)

各位老铁们好,相信很多人对谭浩强c语言跟谁的课都不是特别的了解,因此呢,今天就来为大家分享下关于谭浩强c语言跟谁的课以及学c语言看过了谭浩强的书后还看谁的好呢的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录学c语

2025年10月28日 14:00

海伦公式c语言编程(c语言三角形面积 海伦公式)

海伦公式c语言编程(c语言三角形面积 海伦公式)

大家好,关于海伦公式c语言编程很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于c语言三角形面积 海伦公式的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录

2025年10月28日 06:30

c语言怎么输入一个字符串(c语言如何只允许用户输入一个字符)

c语言怎么输入一个字符串(c语言如何只允许用户输入一个字符)

各位老铁们,大家好,今天由我来为大家分享c语言怎么输入一个字符串,以及c语言如何只允许用户输入一个字符的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目

2025年10月25日 05:15

malloc函数的返回值类型(c语言中malloc是什么怎么用)

malloc函数的返回值类型(c语言中malloc是什么怎么用)

大家好,今天小编来为大家解答以下的问题,关于malloc函数的返回值类型,c语言中malloc是什么怎么用这个很多人还不知道,现在让我们一起来看看吧!本文目录c语言中malloc是什么怎么用malloc函数返回值malloc怎么使用,请举例

2025年10月25日 00:30

c语言历年真题(c语言程序设计试题)

c语言历年真题(c语言程序设计试题)

本篇文章给大家谈谈c语言历年真题,以及c语言程序设计试题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录c语言程序设计试题c语言题目求c语言

2025年10月22日 18:15

c语言中的RETURN()返回值是什么意思?sqrt函数奇数返回什么

c语言中的RETURN()返回值是什么意思?sqrt函数奇数返回什么

各位老铁们,大家好,今天由我来为大家分享返回什么,以及c语言中的RETURN()返回值是什么意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录c语

2025年10月22日 08:00

石家庄c语言培训(石家庄哪儿有教c语言的短期班)

石家庄c语言培训(石家庄哪儿有教c语言的短期班)

大家好,今天小编来为大家解答以下的问题,关于石家庄c语言培训,石家庄哪儿有教c语言的短期班这个很多人还不知道,现在让我们一起来看看吧!本文目录石家庄哪儿有教c语言的短期班北大青鸟设计培训:Java和C语言学哪个更好c语言编程培训收费6贵吗c

2025年10月21日 17:00

二维数组4行4列怎么输出(c语言编程 将一个随机输入的4*4二维数组逆时针旋转90度后以4行4列输出)

二维数组4行4列怎么输出(c语言编程 将一个随机输入的4*4二维数组逆时针旋转90度后以4行4列输出)

各位老铁们,大家好,今天由我来为大家分享二维数组4行4列怎么输出,以及c语言编程 将一个随机输入的4*4二维数组逆时针旋转90度后以4行4列输出的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的

2025年10月21日 02:30

如何编写程序计算圆的周长和面积(用c语言怎么编写求圆的周长和面积的程序)

如何编写程序计算圆的周长和面积(用c语言怎么编写求圆的周长和面积的程序)

今天给各位分享用c语言怎么编写求圆的周长和面积的程序的知识,其中也会对用c语言怎么编写求圆的周长和面积的程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录用c语言怎么编写求圆的周长和面积的程序怎么用c语言计算

2025年10月20日 18:30

c程序设计谭浩强第五版第七章课后答案(疑问:谭浩强c语言习题7.10答案)

c程序设计谭浩强第五版第七章课后答案(疑问:谭浩强c语言习题7.10答案)

本篇文章给大家谈谈c程序设计谭浩强第五版第七章课后答案,以及疑问:谭浩强c语言习题7.10答案对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目

2025年10月20日 17:30

更多文章:


数据类型字节(C语言中数据类型所占字节数与它取值范围的关系)

数据类型字节(C语言中数据类型所占字节数与它取值范围的关系)

“数据类型字节”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看数据类型字节(C语言中数据类型所占字节数与它取值范围的关系)!本文目录C语言中数据类型所占字节数与它取值范围的关系MySQL各数据类型所占字节数字节型数据与字型数

2025年7月9日 22:15

js源码推荐(number-precision 实现js高精度运算 源码)

js源码推荐(number-precision 实现js高精度运算 源码)

今天给各位分享number-precision 实现js高精度运算 源码的知识,其中也会对number-precision 实现js高精度运算 源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录number-

2025年12月2日 20:30

eclipse打开出现ajavaruntime(A Java Runtime Environment JRE) or Java Development Kit (JDK))

eclipse打开出现ajavaruntime(A Java Runtime Environment JRE) or Java Development Kit (JDK))

大家好,今天小编来为大家解答以下的问题,关于eclipse打开出现ajavaruntime,A Java Runtime Environment JRE) or Java Development Kit (JDK)这个很多人还不知道,现在让

2026年9月13日 20:15

知识管理系统(知识管理系统的功能有哪些)

知识管理系统(知识管理系统的功能有哪些)

大家好,知识管理系统相信很多的网友都不是很明白,包括知识管理系统的功能有哪些也是一样,不过没有关系,接下来就来为大家分享关于知识管理系统和知识管理系统的功能有哪些的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录知

2026年1月20日 12:45

柠檬班软件测试怎么样(去柠檬班学软件测试就业 前 景怎样能拿到高工资吗)

柠檬班软件测试怎么样(去柠檬班学软件测试就业 前 景怎样能拿到高工资吗)

本篇文章给大家谈谈柠檬班软件测试怎么样,以及去柠檬班学软件测试就业 前 景怎样能拿到高工资吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录去柠檬班学软件测试就业 前 景怎样能拿到高工资吗武汉软件测试培训机构推荐柠檬班高性能测

2026年1月21日 22:15

page对象通过()属性获取向当前页传输控件的页(asp.net后台如何获取当前打开修改后的页面的html源码(急急急 在线等))

page对象通过()属性获取向当前页传输控件的页(asp.net后台如何获取当前打开修改后的页面的html源码(急急急 在线等))

“page对象通过()属性获取向当前页传输控件的页”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看page对象通过()属性获取向当前页传输控件的页(asp.net后台如何获取当前打开修改后的页面的html源码(急急急 在线等

2026年8月11日 16:30

什么是臆想症?臆想症和妄想症区别有哪些两者哪个更严重一点

什么是臆想症?臆想症和妄想症区别有哪些两者哪个更严重一点

大家好,如果您还对臆想症不太了解,没有关系,今天就由本站为大家分享臆想症的知识,包括什么是臆想症的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录什么是臆想症臆想症和妄想症区别有哪些两者哪个更严重一点臆想症的症状表现

2025年5月29日 16:30

为什么nodejs安装不成功(关于nodejs用npm安装weinre报错是什么原因)

为什么nodejs安装不成功(关于nodejs用npm安装weinre报错是什么原因)

本篇文章给大家谈谈为什么nodejs安装不成功,以及关于nodejs用npm安装weinre报错是什么原因对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录关于nodejs用npm安装weinre报错是什么原因nodejs np

2025年7月31日 08:30

height的中文意思(Height是什么意思_)

height的中文意思(Height是什么意思_)

大家好,如果您还对height的中文意思不太了解,没有关系,今天就由本站为大家分享height的中文意思的知识,包括Height是什么意思_的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录Height是什么意思_h

2025年5月25日 07:30

12月21日新闻(2022年12月21日有什么新闻,读完这个新闻有什么感想)

12月21日新闻(2022年12月21日有什么新闻,读完这个新闻有什么感想)

这篇文章给大家聊聊关于12月21日新闻,以及2022年12月21日有什么新闻,读完这个新闻有什么感想对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录2022年12月21日有什么新闻,读完这个新闻有什么感想12月21日烟台市举行

2026年4月7日 19:30

ppt背景图片一套(如何将幻灯片所有的背景更换成统一的图片)

ppt背景图片一套(如何将幻灯片所有的背景更换成统一的图片)

其实ppt背景图片一套的问题并不复杂,但是又很多的朋友都不太了解如何将幻灯片所有的背景更换成统一的图片,因此呢,今天小编就来为大家分享ppt背景图片一套的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录如何将幻灯片

2025年8月12日 05:45

在电脑上怎么下载编程软件(创编程怎么下载)

在电脑上怎么下载编程软件(创编程怎么下载)

大家好,如果您还对在电脑上怎么下载编程软件不太了解,没有关系,今天就由本站为大家分享在电脑上怎么下载编程软件的知识,包括创编程怎么下载的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录创编程怎么下载信捷xp系列编程软

2026年5月3日 21:15

电脑的tcpip协议在哪里(请问TCP/IP协议在哪里找呢)

电脑的tcpip协议在哪里(请问TCP/IP协议在哪里找呢)

这篇文章给大家聊聊关于电脑的tcpip协议在哪里,以及请问TCP/IP协议在哪里找呢对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录请问TCP/IP协议在哪里找呢我的电脑internet协议tcp/ip没有,该怎么添加如何查看

2025年7月31日 07:00

response取值(response.redirect取值问题)

response取值(response.redirect取值问题)

这篇文章给大家聊聊关于response取值,以及response.redirect取值问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录response.redirect取值问题Request.Form怎样取值minitab

2026年9月7日 13:30

怎么查看sqlserver实例(怎么查看sqlserver实例名)

怎么查看sqlserver实例(怎么查看sqlserver实例名)

今天给各位分享怎么查看sqlserver实例名的知识,其中也会对怎么查看sqlserver实例名进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录怎么查看sqlserver实例名sqlserver实例如何查看怎么

2025年6月17日 07:45

printf怎么输出数字(printf怎么输出指数形式的数)

printf怎么输出数字(printf怎么输出指数形式的数)

本篇文章给大家谈谈printf怎么输出数字,以及printf怎么输出指数形式的数对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录printf

2026年4月24日 12:45

python中encoding(pythonutf-8编码怎么设置)

python中encoding(pythonutf-8编码怎么设置)

各位老铁们,大家好,今天由我来为大家分享python中encoding,以及pythonutf-8编码怎么设置的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2025年11月27日 22:30

爱心源代码html(html爱心代码用devc++能打出来嘛)

爱心源代码html(html爱心代码用devc++能打出来嘛)

大家好,关于爱心源代码html很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于html爱心代码用devc++能打出来嘛的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所

2025年6月12日 15:15

delphi数据库操作(用delphi做的程序如何连接SQL数据库应该怎么操作)

delphi数据库操作(用delphi做的程序如何连接SQL数据库应该怎么操作)

其实delphi数据库操作的问题并不复杂,但是又很多的朋友都不太了解用delphi做的程序如何连接SQL数据库应该怎么操作,因此呢,今天小编就来为大家分享delphi数据库操作的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析

2026年7月25日 22:15

水平滚动条太短怎么调整(如何让excel水平滚动条变长)

水平滚动条太短怎么调整(如何让excel水平滚动条变长)

今天给各位分享如何让excel水平滚动条变长的知识,其中也会对如何让excel水平滚动条变长进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录如何让excel水平滚动条变长Excel表格里滚动条怎么调长Excel

2026年7月21日 03:00

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索