C语言grtchan函数,c语言中quert

C语言的函数问题different types for formal and actual parameter 1

#includestdio.h

创新互联建站长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为沈北新企业提供专业的网站设计、成都网站制作沈北新网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

#define MAXLINE 1000

int getline(char s[],int lim)

{

int c,i;

for(i=0;ilim-1  (c=getchar())!=EOF  c!='\n';++i);

s[i] = c;

if(c == '\n'){

s[i] = c;

++i;

}

s[i] = '\0'; 

return i;

}

void copy(char to[],char from[])

{

int i;

i = 0;

while ((to[i] = from[i]) != '\0')

++i;

}

int main()

{

int len;

int max;

char line[MAXLINE];

char longest[MAXLINE];

max = 0;

while((len = getline(line,MAXLINE))  0);

if(len  max){

max = len;

copy(longest,line);

}

if(max  0)

printf("%s",longest);

return 0;

}

帮忙设计一个C语言的学生信息管理系统

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

#include "conio.h"

struct subject{ //科目信息结构体

float Chinese; //语文

float Math; //数学

float English; //英语

};

struct student{

int no; //学号

char name[20]; //姓名

char sex; //性别

char address[20]; //地址

char telephone[20];//电话

subject score; //3门科目的成绩

float avg; //3门平均成绩

}stud[50]; //结构体数组

int count=0; //计数变量,记录学生人数

void add(){ //增加学生信息函数

student a; //临时结构体变量a

char x,j; //Yes or No输入字符变量

//循环输入学生信息

for(int i=0;i50;i++){

system("cls"); //清屏函数

int t=0;

printf("请输入学生的学号:");

scanf("%d",a.no);

//寻找学号是否已存在

for(int k=0;kcount;k++){

if(stud[k].no==a.no){

t=1;

}

}

//存在与否,分别输出

if(t==1)

printf("输入的学号已存在,请重新输入\n");

else{

printf("请输入学生的姓名:");

scanf("%s",a.name);

printf("请输入学生的性别(m代表男,f代表女):");

scanf("%c",a.sex);

scanf("%c",a.sex);

printf("请输入学生的地址:");

scanf("%s",a.address);

printf("请输入学生的电话:");

scanf("%s",a.telephone);

printf("请输入学生的语文成绩:");

scanf("%f",a.score.Chinese);

printf("请输入学生的数学成绩:");

scanf("%f",a.score.Math);

printf("请输入学生的英语成绩:");

scanf("%f",a.score.English);

a.avg=(a.score.Chinese+a.score.English+a.score.Math)/3;

//判定是否要增加该记录

printf("确定要增加该记录吗?(y/n)");

scanf("%c",x);

scanf("%c",x);

if(x=='y'){

stud[count]=a;

count++;

}

}

//判定是否要继续增加记录

printf("要继续增加记录吗?(y/n)");

scanf("%c",j);

scanf("%c",j);

if(j=='n')

break;

}

printf("\n按任意键返回主菜单:");

getch(); //从键盘接收任意一个字符就返回

}

void show(){ //显示所有学生信息函数

system("cls");

//循环显示

for(int i=0;icount;i++){

printf("学号:%-8d姓名:%-16s性别:%c\n",stud[i].no,stud[i].name,stud[i].sex);

printf("地址:%s\n电话:%s\n",stud[i].address,stud[i].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",stud[i].score.Chinese,

stud[i].score.Math,stud[i].score.English,stud[i].avg);

printf("---------------------------------------------------------------------\n");

}

printf("\n按任意键返回主菜单:");

getch();

}

void sort(){ //根据学生的学号由小到大进行排序

system("cls");

//冒泡排序法

for(int i=0;icount-1;i++){

for(int j=0;jcount-1-i;j++){

if(stud[j].nostud[j+1].no){

student t=stud[j];

stud[j]=stud[j+1];

stud[j+1]=t;

}

}

}

printf("排序已完成,按任意键返回主菜单:");

getch();

}

void query1(){ //根据学号查询并显示单个学生信息

int x; //输入学生学号整型变量

char k; //Yes or No输入字符变量

while(true){

system("cls");

int t=-1; //要查询的学生学号所对应的数组下标,-1代表在数组中没对应下标

printf("请输入要查询的学生学号:");

scanf("%d",x);

//循环寻找结构体数组中符合变量x的数据,并把该数据所在的下标值赋给变量t

for(int i=0;icount;i++){

if(stud[i].no==x)

t=i;

}

//判定信息是否存在,分别输出

if(t==-1)

printf("您所查询的学生信息不存在,");

else{

printf("学号:%-8d姓名:%-16s性别:%c\n",stud[t].no,stud[t].name,stud[t].sex);

printf("地址:%s\n电话:%s\n",stud[t].address,stud[t].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",stud[t].score.Chinese,

stud[t].score.Math,stud[t].score.English,stud[t].avg);

printf("---------------------------------------------------------------------\n");

}

//判定是否要继续查询

printf("是否继续查询?(y/n)");

scanf("%c",k);

scanf("%c",k);

if(k=='n')

break;

}

printf("\n按任意键返回主菜单:");

getch();

}

void query2(){ //根据姓名查询并显示单个学生信息

char x[20]; //输入学生姓名字符串变量

char k; //Yes or No输入字符变量

while(true){

system("cls");

student a[50]; //要查询的学生姓名所对应的数组下标,-1代表在数组中没对应下标

int t=0;

printf("请输入要查询的学生姓名:");

scanf("%s",x);

//循环寻找结构体数组中符合变量x的数据,并把该数据所在的下标值赋给变量t

for(int i=0;icount;i++){

if(strcmp(stud[i].name,x)==0){

a[t]=stud[i];

t++;

}

}

//判定信息是否存在,分别输出

if(t==0)

printf("您所查询的学生信息不存在,");

else{

for(int i=0;it;i++){

printf("学号:%-8d姓名:%-16s性别:%c\n",a[i].no,a[i].name,a[i].sex);

printf("地址:%s\n电话:%s\n",a[i].address,a[i].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",a[i].score.Chinese,

a[i].score.Math,a[i].score.English,a[i].avg);

printf("---------------------------------------------------------------------\n");

}

}

//判定是否要继续查询

printf("是否继续查询?(y/n)");

scanf("%c",k);

scanf("%c",k);

if(k=='n')

break;

}

printf("\n按任意键返回主菜单:");

getch();

}

void good(){ //显示平均成绩和单科成绩最高的学生资料

system("cls");

//寻找平均成绩中的最高值

float max1=stud[0].avg;

for(int i=1;icount;i++)

if(stud[i].avgmax1)

max1=stud[i].avg;

//输出平均成绩中最高值的学生信息

for(int i=0;icount;i++){

if(max1==stud[i].avg){

printf("平均成绩最高的学生信息:\n\n");

printf("学号:%-8d姓名:%-16s性别:%c\n",stud[i].no,stud[i].name,stud[i].sex);

printf("地址:%s\n电话:%s\n",stud[i].address,stud[i].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",stud[i].score.Chinese,

stud[i].score.Math,stud[i].score.English,stud[i].avg);

printf("---------------------------------------------------------------------\n");

}

}

//寻找语文成绩中的最高值

float max2=stud[0].score.Chinese;

for(int i=1;icount;i++)

if(stud[i].score.Chinesemax2)

max2=stud[i].score.Chinese;

//输出语文成绩中最高值的学生信息

for(int i=0;icount;i++){

if(max2==stud[i].score.Chinese){

printf("语文成绩最高的学生信息:\n\n");

printf("学号:%-8d姓名:%-16s性别:%c\n",stud[i].no,stud[i].name,stud[i].sex);

printf("地址:%s\n电话:%s\n",stud[i].address,stud[i].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",stud[i].score.Chinese,

stud[i].score.Math,stud[i].score.English,stud[i].avg);

printf("---------------------------------------------------------------------\n");

}

}

//寻找数学成绩中的最高值

float max3=stud[0].score.Math;

for(int i=1;icount;i++)

if(stud[i].score.Mathmax3)

max3=stud[i].score.Math;

//输出数学成绩中最高值的学生信息

for(int i=0;icount;i++){

if(max3==stud[i].score.Math){

printf("数学成绩最高的学生信息:\n\n");

printf("学号:%-8d姓名:%-16s性别:%c\n",stud[i].no,stud[i].name,stud[i].sex);

printf("地址:%s\n电话:%s\n",stud[i].address,stud[i].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",stud[i].score.Chinese,

stud[i].score.Math,stud[i].score.English,stud[i].avg);

printf("---------------------------------------------------------------------\n");

}

}

//寻找英语成绩中的最高值

float max4=stud[0].score.English;

for(int i=1;icount;i++)

if(stud[i].score.Englishmax4)

max4=stud[i].score.English;

//输出英语成绩中最高值的学生信息

for(int i=0;icount;i++){

if(max4==stud[i].score.English){

printf("英语成绩最高的学生信息:\n\n");

printf("学号:%-8d姓名:%-16s性别:%c\n",stud[i].no,stud[i].name,stud[i].sex);

printf("地址:%s\n电话:%s\n",stud[i].address,stud[i].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",stud[i].score.Chinese,

stud[i].score.Math,stud[i].score.English,stud[i].avg);

printf("---------------------------------------------------------------------\n");

}

}

printf("\n按任意键返回主菜单:");

getch();

}

void update(){

int x; //输入学生学号整型变量

student a; //临时结构体变量a

char k,j; //Yes or No输入字符变量

while(true){

system("cls");

int t=-1; //要查询的学生学号所对应的数组下标,-1代表在数组中没对应下标

printf("请输入要修改的学生学号:");

scanf("%d",x);

//循环寻找结构体数组中符合变量x的数据,并把该数据所在的下标值赋给变量t

for(int i=0;icount;i++){

if(stud[i].no==x)

t=i;

}

//判定信息是否存在,分别输出

if(t==-1)

printf("您所要修改的学生信息不存在,");

else{

//输出要修改学生的原信息

printf("学号:%-8d姓名:%-16s性别:%c\n",stud[t].no,stud[t].name,stud[t].sex);

printf("地址:%s\n电话:%s\n",stud[t].address,stud[t].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",stud[t].score.Chinese,

stud[t].score.Math,stud[t].score.English,stud[t].avg);

printf("---------------------------------------------------------------------\n");

//判定是否要修改

printf("确定要修改该记录吗?(y/n)");

scanf("%c",k);

scanf("%c",k);

//确定要修改后,输入新信息

if(k=='y'){

printf("请输入新的学生的学号:");

scanf("%d",a.no);

printf("请输入新的学生的姓名:");

scanf("%s",a.name);

printf("请输入新的学生的性别:");

scanf("%c",a.sex);

scanf("%c",a.sex);

printf("请输入新的学生的地址:");

scanf("%s",a.address);

printf("请输入新的学生的电话:");

scanf("%s",a.telephone);

printf("请输入新的学生的语文成绩:");

scanf("%f",a.score.Chinese);

printf("请输入新的学生的数学成绩:");

scanf("%f",a.score.Math);

printf("请输入新的学生的英语成绩:");

scanf("%f",a.score.English);

a.avg=(a.score.Chinese+a.score.English+a.score.Math)/3;

stud[t]=a;

printf("修改成功,");

}

}

//判定是否继续

printf("是否继续修改?(y/n)");

scanf("%c",j);

scanf("%c",j);

if(j=='n')

break;

}

printf("\n按任意键返回主菜单:");

getch();

}

void del(){

int x; //输入学生学号整型变量

char k,j; //Yes or No输入字符变量

while(true){

system("cls");

int t=-1; //要查询的学生学号所对应的数组下标,-1代表在数组中没对应下标

printf("请输入要删除的学生学号:");

scanf("%d",x);

//循环寻找结构体数组中符合变量x的数据,并把该数据所在的下标值赋给变量t

for(int i=0;icount;i++){

if(stud[i].no==x)

t=i;

}

//判定信息是否存在,分别输出

if(t==-1)

printf("您所要删除的学生信息不存在,");

else{

//输出要删除学生的原信息

printf("学号:%-8d姓名:%-16s性别:%c\n",stud[t].no,stud[t].name,stud[t].sex);

printf("地址:%s\n电话:%s\n",stud[t].address,stud[t].telephone);

printf("语文成绩:%-8.1f数学成绩:%-8.1f英语成绩:%-8.1f平均成绩:%.1f\n",stud[t].score.Chinese,

stud[t].score.Math,stud[t].score.English,stud[t].avg);

printf("---------------------------------------------------------------------\n");

//判定是否删除

printf("确认要删除吗?(y/n)");

scanf("%c",k);

scanf("%c",k);

//确定要删除后,删除该信息

if(k=='y'){

for(int i=t;icount-1;i++)

stud[i]=stud[i+1];

printf("删除成功,");

count--;

}

}

//判定是否继续

printf("是否继续删除?(y/n)");

scanf("%c",j);

scanf("%c",j);

if(j=='n')

break;

}

printf("\n按任意键返回主菜单:");

getch();

}

void grt(){

system("cls");

printf("\t\t\t顾韧霆制作\n\t\t\t2008年12月13日\n");

printf("\n按任意键返回主菜单:");

getch();

}

void grt1()

{

int choice=0; //保存用户输入的选择项

do{

system("cls"); //清屏函数

printf("\t----------------学生信息管理系统----------------\n\n");

printf("\t\t在菜单中选择以下的操作类型\n");

printf("\t\t1.增加记录\n\t\t2.显示所有学生信息\n\t\t3.信息排序\n\t\t4.根据学号查询单个学生信息\n\t\t5.根据姓名查询单个学生信息\n");

printf("\t\t6.平均成绩和单科成绩最高的学生资料\n\t\t7.修改记录\n\t\t8.删除记录\n\t\t9.退出程序\n\t\t0.制作人\n");

printf("\t\t请输入你的选择:");

scanf("%d",choice);

switch(choice)

{

case 1:

add();

break;

case 2:

show();

break;

case 3:

sort();

break;

case 4:

query1();

break;

case 5:

query2();

break;

case 6:

good();

break;

case 7:

update();

break;

case 8:

del();

break;

case 0:

grt();

break;

}

}while(choice!=9);

}

void main()

{

char x[10];

printf("\t----------------学生信息管理系统----------------\n\n");

for(int i=3;i0;i--){

printf("\t\t\t请输入密码:");

scanf("%s",x);

if(strcmp(x,"123456")==0){

grt1();

break;

}

else

printf("\t\t\t输入错误,你还有%d次机会\n",i-1);

}

}

C语言 日期计算加一天 源代码

#include stdio.h

#includestdlib.h

main ()

{

int a,b,c;

scanf ("%d,%d,%d",a,b,c);

printf("%4d%4d%4d\n",a,b,c);

if (b1||b12||c1||c31)

printf("error input\n");

else

{

if (b==1||b==3||b==5||b==7||b==8||b==10|| b==12)

{

if(b==12c==31) {c=1;b=1;a++;}

else if(b!=12c==31) {b++;c=1;}

else if(c31) c++;

else printf("error inpu\n");

}

else if ((b==1||b==3||b==5||b==7||b==8||b==10))

{

if(c==30) {b++;c=1;}

else if(c31) c++;

else printf("error input\n");

}

else if (b==2)

{if (((int)a%4==0(int)a%100!=0)||(int)a%400==0) //判断的是闰年

{

if(c=28) c++;

else if(c==29)

{c=1;b++;}

else {printf("error input\n");exit;}

}

else {

if(c==28) {b++;c=1;}

else if(c28) c++;

else {printf("error input\n");exit;}

}

}

}

printf("%4d%4d%4d",a,b,c);

system("pause");

}

结构太乱,重新整理了一下

谁帮我改一下这个用栈写的C语言行编辑程序啊,老是expected primary-expression before。。。

您的程序有比较多的地方有问题,例举几个:

1)case '@': ClearStack(S); break; 清空栈后,想再不初始化就再使用?top指针其实编程空指针了。

2)什么情况下用变量的使用问题,typedef struct{。。。}SqStack,*S;中的*S,InitStack(S);把S当做全局指针?基础要加强。

3)代码修正如下,可以正确运行。

#includestdlib.h

#includestdio.h

#includestring.h

#define TRUE 1

#define FALSE 0

#define OK 1

#define ERROR 0

#define INFEASIBLE -1

#define OVERFLOW -2

typedef char Status;

typedef char SElemType;

#define STACK_INIT_SIZE 100

#define STACKINCREMENT 10

typedef struct{

SElemType *base;

SElemType *top;

int stacksize;

}SqStack;

SqStack S;

Status InitStack()

{

S.base = (SElemType * )malloc(STACK_INIT_SIZE * sizeof(SElemType));

if(!S.base)

exit(OVERFLOW);

S.top = S.base;

S.stacksize=STACK_INIT_SIZE;

return OK;

}//InintStack

Status GetTop(SElemType *e)

{

if(S.top==S.base) return ERROR;

*e=*(S.top-1);

return OK;

}//GrtTop

Status Push(SElemType e)

{

if(S.top-S.base=S.stacksize)

{

S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));

if(!S.base)

{

exit(OVERFLOW);

}

S.top=S.base+S.stacksize;

S.stacksize+=STACKINCREMENT;

}

*S.top++=e;

return OK;

}//Push

SElemType Pop()

{

SElemType ch;

if(S.top==S.base)

{

return ERROR;

}

ch=*(--S.top);

return ch;

}//Pop

Status ClearStack()

{

S.top=0;

return OK;

}//ClearStack

Status DestroyStack()

{

S.top=0;

return OK;

}

void LineEdit()

{

InitStack();

char ch;

ch=getchar();

while(ch!='\n')

{

while(ch!='\n')

{

switch(ch)

{

case '#': printf("\n出栈%c",Pop());

break;

//case '@': ClearStack();

// break;

default : Push(ch);

break;

}

ch=getchar();

}

}

DestroyStack();

}

int main()

{

LineEdit();

return 0;

}


当前名称:C语言grtchan函数,c语言中quert
文章分享:http://abwzjs.com/article/hcdcco.html