求一个120行左右的C语言程序

作者&投稿:华勇 (若有异议请与网页底部的电邮联系)
求一个300行左右的简单的c语言程序~

#include
#include
#include

#define LEN sizeof(struct record) /*对结构体长度进行宏定义*/

void menu();/*声明菜单函数*/
struct record*insert(struct record *head);/*声明添加函数 */
struct record*delet(struct record *head); /*声明删除函数 */
struct record*alter(struct record *head); /*声明修改函数 */
void search(struct record *head); /*声明查找函数*/
void show(struct record *head); /*声明显示函数*/

struct record *head; /*定义全局结构体指针变量*/
int n=0; /*定义全局变量*/

struct record /*声明结构体*/
{
char number[10];
char name[20];
char phone[20];
char adress[40];
char postcode[10];
char e_mail[30];
struct record *next;
};


/******************************************************************************
* *
* 主函数 *
* *
*******************************************************************************/
main()
{
head=NULL;
menu();
rewind(stdin);
}

/******************************************************************************
* *
* 菜单函数 *
* *
*******************************************************************************/
void menu()
{
int choice;
printf("
******************** 主菜单 ********************");
printf("
*********** 1-添加纪录 2-查询纪录 ************");
printf("
*********** 3-删除纪录 4-修改记录 ************");
printf("
*********** 5-显示纪录 6-退出系统 ************");
printf("
************************************************");
printf("
请选择:");
scanf("%d",&choice); rewind(stdin);
printf("
");
switch (choice)
{
case 1:
head=insert(head);
rewind(stdin);
menu();
break;
case 2:
search(head);rewind(stdin);
menu();
break;
case 3:
head=delet(head);
rewind(stdin);
menu();
break;
case 4:
head=alter(head);
rewind(stdin);
menu();
break;
case 5:
show(head);
rewind(stdin);
menu();
break;
default:
printf("
谢谢使用!!");
break;
}
}


/******************************************************************************
* *
* 添加函数 *
* *
*******************************************************************************/
struct record *insert(struct record *head)
{
struct record *pp,*p1,*p2;
pp=(struct record *)malloc(LEN);
printf("
**************** 请输入用户信息 ****************
");
printf("
输入序号:");
scanf("%s",pp->number); rewind(stdin);
printf("
输入姓名:");
scanf("%s",pp->name);rewind(stdin);
printf("
输入电话号码:");
scanf("%s",pp->phone); rewind(stdin);
printf("
输入地址:");
scanf("%s",pp->adress); rewind(stdin);
printf("
输入邮编:");
scanf("%s",pp->postcode); rewind(stdin);
printf("
输入e-mail:");
scanf("%s",pp->e_mail); rewind(stdin);
if(head==NULL)/*在表头插入1*/
{
head=pp;
pp->next=NULL;
}
else
{
p1=head;
while((strcmp(pp->number,p1->number)>0)&&(p1->next!=NULL))
{
p2=p1;
p1=p1->next;
}
if(strcmp(pp->number,p1->number)<=0)
{
if(head==p1)
head=pp; /*在表头插入2*/
else
p2->next=pp;/*在表中插入*/
pp->next=p1;
}
else /*在表尾插入*/
{
p1->next=pp;
pp->next=NULL;
}
}
printf("添加成功!请继续选择功能键!

");
n=n+1;
return(head);
}
/******************************************************************************
* *
* 删除函数 *
* *
*******************************************************************************/
struct record*delet(struct record * head)
{
struct record *p1,*p2;
char number[10];
printf("请输入要删除用户的序号number:");
scanf("%s",&number);rewind(stdin);
if(head==NULL)
{
printf("
通讯录无用户信息记录!!
");
return(head);
}
p1=head;
while(strcmp(number,p1->number)!=0&&p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
if(strcmp(number,p1->number)==0)
{
if(p1==head)
{
head=p1->next;
printf("删除成功!请继续选择功能键!

");
}

else
{
p2=p1->next;
printf("已删 除的用户的序号为:%s
",number);
printf("删除成功!请继续选择功能键!

");
}
n=n-1;
}
else printf("通讯录无该用户的信息记录!
");
return(head);
}
/******************************************************************************
* *
* 查询函数 *
* *
*******************************************************************************/
void search(struct record *head)
{
int a;
char f_name[20],f_number[10];
struct record *p1,*p2;
if(head==NULL)
{
printf("通讯录无用户信息记录
");
return;
}
else
{
printf("请你选择你查找的方式:

1:序号
2:姓名
");
printf("请选择:");
scanf("%d",&a);rewind(stdin);
switch(a)
{case 1:
printf("
请输入要查找用户的序号number:");
scanf("%s",&f_number);rewind(stdin);
p1=head;
while(strcmp(p1->number,f_number)!=0)
{
if(p1->next==NULL)
{
printf("
通讯录无此用户信息记录
");
return;
}
else
{
p2=p1->next;
p1=p2;
}
}
printf("
要查找用户的基本信息为:
");
printf("序号: %s
姓名:%s
电话号码:%s",p1->number,p1->name,p1->phone);
printf("
地址:%s
邮编:%s
e_mail:%s
",p1->adress,p1->postcode,p1->e_mail);
break;
case 2:
printf("
请输入要查找用户的姓名name:");
scanf("%s",f_name);rewind(stdin);
p1=head;
while(strcmp(p1->name,f_name)!=0)
{
if(p1->next==NULL)
{
printf("
通讯录无此用户信息记录
");
return;
}
else
{
p2=p1->next;
p1=p2;
}
}
printf("
要查找用户的基本信息为:
");
printf("序号: %s
姓名:%s
电话号码:%s",p1->number,p1->name,p1->phone);
printf("
地址:%s
邮编:%s
e_mail:%s",p1->adress,p1->postcode,p1->e_mail);
break;
}
}
}
/******************************************************************************
* *
* 显示函数 *
* *
*******************************************************************************/
void show(struct record *head)
{
int i;
struct record *p1,*p2;
p1=head;
if(head==NULL)
{
printf("通讯录无用户信息记录
");
return;
}
else
{
for(i=1;i<=n;i++)
{
printf("
第%d个用户的基本信息为:",i);
printf("
序号: %s 姓名:%s 电话号码:%s
地址:%s 邮编:%s e_mail:%s
"
,p1->number,p1->name,p1->phone,p1->adress,p1->postcode,p1->e_mail);
p2=p1->next;
p1=p2;
}
}
}

/******************************************************************************
* *
* 修改函数 *
* *
*******************************************************************************/
struct record*alter(struct record*head)
{
struct record *p1,*p2;
int choice1;
char alter_number[10],alter_name[20],alter_phone[20],alter_adress[40],alter_postcode[10],alter_e_mail[30],choice2;
p1=head;
if(head==NULL)
{
printf("通讯录无用户信息记录
");
return(head);
}
printf("请输入要修改的用户的序号number:");
scanf("%s",alter_number);
rewind(stdin);
while(strcmp(p1->number,alter_number)!=0)
{
if(p1->next==NULL)
{
printf("
通讯录无此用户信息记录
");
return(head);
}
else
{
p2=p1;
p1=p1->next;
}

}
if(strcmp(p1->number,alter_number)!=0)
{
printf("通讯录无用户信息记录
");
return(head);
}
else
{
printf("要修改的用户的基本信息为:
");
printf("序号: %s 姓名:%s 电话号码:%s 地址:%s 邮编:%s e_mail:%s
"
,p1->number,p1->name,p1->phone,p1->adress,p1->postcode,p1->e_mail);
}

while(1)
{
printf("你是否要修改的用户的基本信息?(y&n)");
scanf("%c",&choice2);
rewind(stdin);
if(choice2=='y')
{
printf("请选择你要修改的项目:
");
printf("1:姓名 2:电话号码 3:地址 4:邮编 5:e_mail
");
printf("你选择的序号为: ");
scanf("%d",&choice1);
rewind(stdin);
switch(choice1)
{case 1:printf("请输入更改后的姓名");
scanf("%s",alter_name);rewind(stdin);
strcpy(p1->name,alter_name);
continue;
case 2:printf("请输入更改后的电话号码");
scanf("%s",alter_phone);rewind(stdin);
strcpy(p1->phone,alter_phone);
continue;
case 3:printf("请输入更改后的地址");
scanf("%s",alter_adress);rewind(stdin);
strcpy(p1->adress,alter_adress);
continue;
case 4:printf("请输入更改后的邮编");
scanf("%s",&alter_postcode);rewind(stdin);strcpy(p1->postcode,alter_postcode);
continue;
case 5:printf("请输入更改后的e_mail");
scanf("%s",alter_e_mail);rewind(stdin);
strcpy(p1->e_mail,alter_e_mail);
continue;
}
printf("
修改后用户的基本信息为:
");
printf("序号: %s 姓名:%s 电话号码:%s 地址:%s 邮编:%s e_mail
"
,p1->number,p1->name,p1->phone,p1->adress,p1->postcode,p1->e_mail);
}
else
{
printf("
修改成功!!
");
break;
}
}
return(head);
}

#include /*头函数*/
int main(void) /*主函数*/
{
char c; /*指定c成为字符变量*/
printf("请输入0到9的任意一个数字
"); /*输出请输入0到9的任意一个数字*/
c=getchar(); /*输入一个字符*/
while(c>=48&&c<=57) /*c的取值范围*/
{
getchar();
switch(c) /*根据c的值转换*/
{
case '0': printf("你喜欢奋斗吗?
"); /*假如c=0,输出你喜欢奋斗吗?*/
break; /*中断跳出,执行c=getchar()*/
case '1': printf("你喜欢当模特吗?
"); /*假如c=1,输出你喜欢当模特吗?*/
break; /*中断跳出,执行c=getchar()*/
case '2': printf("你喜欢和谐吗?
"); /*假如c=2,输出你喜欢和谐吗?*/
break; /*中断跳出,执行c=getchar()*/
case '3': printf("你喜欢道家吗?
"); /*假如c=3,输出你喜欢道家吗?*/
break; /*中断跳出,执行c=getchar()*/
case '4': printf("你是广东人吗?
"); /*假如c=4,输出你是广东人吗?*/
break; /*中断跳出,执行c=getchar()*/
case '5': printf("你喜欢武术吗?
"); /*假如c=5,输出你喜欢武术吗?*/
break; /*中断跳出,执行c=getchar()*/
case '6': printf("祝你一帆风顺!
"); /*假如c=6,输出祝你一帆风顺!*/
break; /*中断跳出,执行c=getchar()*/
case '7': printf("观察等待好机会!
"); /*假如c=7,输出观察等待好机会!*/
break; /*中断跳出,执行c=getchar()*/
case '8': printf("你喜欢交际吗?
"); /*假如c=8,输出你喜欢交际吗?*/
break; /*中断跳出,执行c=getchar()*/
case '9': printf("追求完美吧!
"); /*假如c=9,输出追求完美吧!*/
break; /*中断跳出,执行c=getchar()*/
}
c=getchar(); /*再输入一个字符*/
}
return 0; /*返回值*/
}

/*学生成绩查询表*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#define ROW 6 /*学生数*/
#define COL 4 /*成绩数*/
int main()
{
/*定义所需变量*/
int no,i,j,k,grade[ROW][COL];
float a[ROW]={0}; /*每个学生平均成绩*/
char d[ROW][10],name[ROW][10]={"Tom","John","Peter","Ken","Lily","Roy"},
subject[COL][10]={"English","Math","C++","PE"},style;
/*声明所需函数*/
float ave_stu(int Grade[],int n);
void make(char name[][10],int grade[][COL],char subject[][10],float a[],int n);
int search(char subject[][10]);
float ave_class(int grade[][COL],int no);
int find(int grade[][COL],char name[][10],char d[][10]);
void sort(float a[],int n,char style);
srand(time(0)); /*随机给学生赋予成绩值*/
for(i=0;i<ROW;i++)
for(j=0;j<COL;j++)
grade[i][j]=rand()%100+1;
for(i=0;i<ROW;i++)
a[i]=ave_stu(grade[i],COL); /*求每个学生平均成绩并赋给a[n]*/
make(name,grade,subject,a,ROW); /*制表*/
no=search(subject); /*寻找某课程平均成绩*/
printf("此学科的平均成绩为: %8.2f\n",ave_class(grade,no));

k=find(grade,name,d); /*找出两门以上成绩不及格的人*/
printf("\n共有%d人两门以上不及格,分别是:",k);
for(i=0;i<k;i++)
printf("%6s",d[i]);
printf ("\n");
printf("输入排序方式 a为升序排,b为降序排 :\n"); /*学生平均
成绩排序*/
scanf("%c",&style);
sort(a,ROW,style);
for(i=0;i<ROW;i++)
printf("%12.2f",a[i]);
printf("\n");
return 0;
}

/*求每个学生平均成绩*/
float ave_stu(int Grade[],int n)
{
int i;
float total=0;
for(i=0;i<n;i++)
total+=Grade[i];
return(total/n);
}
/*制表*/
void make(char name[][10],int grade[][COL],char subject[][10],float a[],int n)
{
int i,j,k;
printf("姓名/课程");
for(k=0;k<COL;k++) /*输出课程*/
printf("%9s",subject[k]);
printf(" Average\n");
for(i=0;i<ROW;i++)
{
printf("%5s",name[i]); /*输出姓名*/
for(j=0;j<COL;j++) /*输出各科成绩*/
printf("%10d",grade[i][j]);
printf("%12.2f\n",a[i]);
}
} /*输出平均成绩*/
/*寻找切入点*/
int search(char subject[][10])
{
char b[10]; int i;
printf("输入要查询的课程: ");
gets(b);
for(i=0;i<COL;i++)
if(strcmp(b,subject[i])==0)break;
return(i);
}
/*计算所求科目的平均成绩*/
float ave_class(int grade[][COL],int no)
{
int i;
float sum=0;
for(i=0;i<ROW;i++)
sum+=grade[i][no];
sum/=ROW;
return(sum);
}
/*找出两门以上成绩不及格的人*/
int find(int grade[][COL],char name[][10],char d[][10])
{
int i,j,m=0,k=0;
for(i=0;i<ROW;i++)
{
for(j=0;j<COL;j++)
if(grade[i][j]<60)
m+=1; /*记录不及格科目数*/
if(m>=2)
{
strcpy(d[k],name[i]);
k+=1;
}
m=0;
} /*m值初始化*/
return(k);
}
/*学生平均成绩排序*/
void sort(float a[],int n,char style)
{
int i,j;float t;
if(style=='a')
for(i=1;i<n;i++) /*插入升序排序*/
{
t=a[i];j=i-1;
while(j>=0&&t<a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
if(style=='b')
for(i=1;i<n;i++) /*插入降序排序*/
{
t=a[i];j=i-1;
while(j>=0&&t>a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=t;
}
}

随便一个就行?
另外,站长团上有产品团购,便宜有保证


求一个120行左右的C语言程序
include<stdio.h> include<stdlib.h> include<string.h> include define ROW 6\/*学生数*\/ define COL 4\/*成绩数*\/ int main(){ \/*定义所需变量*\/ int no,i,j,k,grade[ROW][COL];float a[ROW]={0};\/*每个学生平均成绩*\/ char d[ROW][10],name[ROW][10]={"Tom","John","Pet...

汽车时速120左右,一小时能跑多少公里?有何依据?
120车速一小时的速度,很多车主会认为车辆的速度可以达到120公里\/小时,这种观点是错误的,在我们的日常生活中,高速公路的限速是120公里\/小时,但你开一小时,就是不到120公里。120小时的速度不是达到120公里\/小时,往往是小于120公里\/小时。车上的每个车轮都会装有传感器,这些传感器可以监测车轮的速度,...

我有一个120cm*50cm*33Cm的托运行李可以托运吗?
可以办托运的,如果重量不算太高,可以找快递公司,太重了,可以找物流了,价格还合理点

十一假期从北京南站出发,需要携带一个120*90*30的大件行李箱,大件行 ...
只要你能把大件行李搬上北京公交车,就可以,售票员不管,只是需要买张票。

汽车时速120左右,一小时能跑多少公里?
以120码的恒定速度每小时跑120公里。通常,一辆车所说的码数就是每小时的公里数。例如,60码意味着以每小时60公里的速度行驶。一小时的路程是60公里。在科学中,速度用来表示物体的速度。速度在数字上等于单位时间内行驶的距离。高速爆胎引发的交通事故是最频繁、最危险的。因此,在行驶前,必须检查轮胎...

大学生情侣如何一起攒钱去旅行?
与对象一起去旅游,读万卷书,行万里路,自然是非常浪漫又能拓展眼界。 但是作为都还在校的大学生来说,有不想伸手向父母讨要的小情侣来讲,就是一个较大的负担了。 其实想要一起攒钱旅行,也是有一些简单而实用的方法来进行开源节流,以便能够实现两个人一起旅行的计划的。 一、旅行预算 去不同国家和地区,费用差别...

120字左右的诗词
120个字左右的诗词如下:侠客行(120字)朝代:唐代 作者:李白 赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。十步杀一人,千里不留行。事了拂衣去,深藏身与名。闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。救赵挥金槌,...

初三学生,需要写一份自我评价。120字左右、低调点就行,千万不要一个...
我是个品行优良的男孩,各方面表现都不错。我是个听话懂事、善解人意、诚实质朴、令人信任的女孩。我是个尊敬师长,团结同学的好学生。我是一个待人随和的好学生,从不计较个人得失。我为人热情大方,能和同学友好相处。我为人正直诚恳,尊敬老师,团结同学,关心班集体,待人有礼,能认真听从老师的教导,自觉遵守学校的...

一块边长是120厘米的正方行铁皮,在它的四个角上剪去同样大小的正方形后...
120÷3=40厘米(棱长)体积=40×40×40=64000立方厘米=64升 希望能帮到你,@数学辅导团# 祝你学习进步,不理解请追问,理解请及时采纳!(*^__^*)

MATLAB如何提取一个矩阵的每隔100行取20行数据,比如取1-20行 101...
B=zeros(100,5);%%%取B为100行5列的0矩阵 for i=1:floor(420\/100)+1 B(20*(i-1)+1:20*(i-1)+20,:)=A(100*(i-1)+1:100*(i-1)+20,:);%%每隔100行赋值给B end 如果你的不超过200行的话,那么B就是40行,你把B=zeros(100,5)改成zeros(40,5)就可以了 当然循环也...

万年县15918585155: 简单的C语言120行左右代码 -
爰钥枢绮: 注释部分你可以不要,这样算下来也就120左右了,给你不删掉的原因是你可以理解它的作用,如果可以请采纳!!#include <stdio.h>#include <stdlib.h> typedef struct ListNode { //单链表存储结构 int data; //数据域 struct ListNode * next;//指针...

万年县15918585155: 求一个120行左右的C语言程序 -
爰钥枢绮: /*学生成绩查询表*/#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#define ROW 6 /*学生数*/#define COL 4 /*成绩数*/ int main() { /*定义所需变量*/ int no,i,j,k,grade[ROW][COL]; float a[ROW]={0}; /*每个学生平均成绩*/ ...

万年县15918585155: 用C语言程序编写一个能运算20以内的加减乘除的小学算术测试程序(要求大概要120行左右)急用!!!谢谢! -
爰钥枢绮: 这个比较短但还能用,求给分呀 void main() {float x,y; char c; do { printf("input x(+,-,*,/)y\n"); scanf("%f%c%f",&x,&c,&y); switch(c) {case '+': printf("%f\n",x+y);break; case '-': printf("%f\n",x-y);break; case '*': printf("%f\n",x*y);break; case '/'...

万年县15918585155: 求一个C语言程序:输入包括两行数据.第一行只包括一个100到120之间(包含100和120)的整数 -
爰钥枢绮: void main() {int a[10] = {0};int b[10]= {0};int sum =0;printf("输入第一行数据\n"); scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],&a[6],&a[7],&a[8],&a[9]); printf("输入第二行数据\n");scanf("%d,...

万年县15918585155: 求一个简单100行c语言程序,一定要原创 -
爰钥枢绮: #include<stdio.h>#include<stdlib.h> typedef struct Qnode { int data; }Q,*H; H front; H rear; H next(H cur, H head, int size) { cur++; if(cur>=head+size) cur=head; return cur; } int enqueue(H head, int size) { int num,i; printf("请输入插入的个数及插入...

万年县15918585155: 求C语言200行以上的程序一个 急!!~~ -
爰钥枢绮: 昨天在百度上逛时碰到要给这个代码加注释的,呵呵,我加了一点注释.这是个万年历程序,可输入具体日期计算这天是星期几,输出全年的日历,还可以判断是否是闰年.这个程序只是代码比较长,但难度不大,你应该能看读懂. #include ...

万年县15918585155: 求助一个100行以上的C语言程序 -
爰钥枢绮: 我给你一个吧,复数的四则运算./** 带有数据类型标志的复数四则运算.输入值可以是直角坐标或极坐标型,也 * 可以是它们的混合型.当进行加减运算时,输出值为直角坐标型;当进行乘 * 除运算时,输出值为极坐标型. */#include #include...

万年县15918585155: 急求一个c语言的程序设计,一百多行,初学者的水平就行 -
爰钥枢绮: 以前改过的一个程序 输入字符串,检查回文,排序 挺简单的 大约100行吧#include#include#include#define N 100 int n; char a[N][100]; void begin() {printf("\n ╔════════════════════════╗");printf("\n ║ 【1】输入字符串 【2】字符串排序 ║...

万年县15918585155: 求助!!!!!!!! 求一篇C语言程序,要求100行,每行带中文注释,内容随意(越简单越好)!!!!!!!!
爰钥枢绮: #include<stdio.h> #include<Windows.h>/*后面关闭程序需要调用此头文件*/ #include<string.h> #define N 10/*定义学生的个数*/ typedef struct/*结构体*/ { char number[20];/*定义学生的学号*/ int grade[4];/*定义学生的四门成绩,这里用的整型,...

万年县15918585155: 急求一百行左右的C语言编程!
爰钥枢绮: #include &lt;stdio.h&gt; #include &lt;string.h&gt; struct student { int number;//学号 double sum;//三门课的总成绩 double average;//三门课的平均分 char name[20];//学生姓名 double score[3];//三门课的成绩 }; student stu[10];//定义10个结构...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网