当前位置:首页 » 编程语言 » c语言信息录入

c语言信息录入

发布时间: 2022-08-30 22:47:28

c语言中除了使用结构体录入信息外,还有其他方法

可以使用配对的数组。
结构体就是用来表示一个东西具有多个属性,用结构体就非常方便。
当然也可以把结构体每个成员拆分,如果有多个就是为每个成员定义一个数组。然后几个成员数组配对使用就是。

❷ 怎么样用 C语言 做出 显示输入信息和录入信息

两种情况:
第一种:如果你是想从写好的文件中读数据的话,那么使用这种方法
FILE *f1;
if((f1=fopen("read.txt","r")==NULL)
{
cout<<"打开文件错误!"<<endl;
exit(0);
}
char ch=fgetc(f1);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(f1);
}
fclose(f1);
第二种:如果你是想在程序中动态的输入数据,并写入到文件中,然后从文件中显示出来的话。方法为:
char *s;
char s1[256];
cout<<"请输入一个字符串:"<<endl;
cin>>s;
FILE *f1;
if((f1=fopen("write.txt","w+")==NULL)
{
cout<<"打开文件错误!"<<endl;
exit(0);
}
int length=strlen(s);
fputs(s,f1);//将字符串中的字符写到文件中去。
while(fgets(s1,length+1,f1)!=NULL)
{cout<<s1;}
cout<<endl;
fclose(f1);
最后,希望对你有所帮助啊!

❸ 学生信息录入模块C语言

/*主程序功能模块—-文件名:student.c*/
#define MAX_BAR 4 /*最大菜单数,可以自定*/
#include"io.h"
#include"dos.h"
#include"fcntl.h"
#include"stdio.h"
#include"stdlib.h"
#include"math.h"
#include"graphics.h"
#include"chi_asc.c" /*调用图形模式下汉字、字符共显功能*/
#include"public.c" /*按键定义功能*/
#include"mypcx.c" /*封面图象调用功能,此处为pcx图象*/
#include"stu_frame.c" /*框架绘制功能*/
#include"stu_sub.c" /*各子菜单功能*/
main()
{
/*old_bar、curr_bar表示上次选中的菜单、当前选中的菜单*/
/*old_sonbar curr_sonbar表示上次选中的子菜单、当前选中的子菜单*/
int i,key,key_son,old_bar,curr_bar,curr_sonbar,old_sonbar,size;
int save_startx,save_starty,save_endx,save_endy,sonbar_out=0;
void *buf;
int Driver,Mode;
char *pcx;
struct student_bar{
int start_x,start_y; /*起始横坐标,起始纵坐标*/
int length_x,length_y; /*菜单的长,菜单的宽*/
int num_son; /*包含子菜单的个数*/
char *p_father; /*菜单项名,*p_son[5]为子菜单名*/
char *p_son[5];}stu_bar[MAX_BAR]={
{10,45,120,25,4,"File Operation",{" Open file"," New file"," Save file","Exit system"}},
{130,45,120,25,3,"Data Edition",{" Add object","Delete object","Modify object"}},
{250,45,120,25,0,"File Print",{""}},
{370,45,120,25,0,"Help Message",{""}}
};/*定义各功能菜单的结构体*/

pcx="stusys4.pcx";
Set_Video_Mode(VGA256); /*转换屏幕到320*200*256色*/
PCX_Load_Screen(pcx,1); /*读取封面图象stusys4.pcx*/

Driver=DETECT,Mode=0;
initgraph(&Driver,&Mode,""); /*设置图象模式*/
cleardevice();
main_frame(BLUE,LIGHTGRAY); /*绘制主框架图,底色为蓝色*/
/*绘制菜单*/
for(i=0;i<MAX_BAR;i++)
{
setcolor(BLUE);
rectangle(stu_bar[i].start_x, stu_bar[i].start_y, stu_bar[i].start_x+stu_bar[i].length_x, stu_bar[i].start_y+stu_bar[i].length_y);
puthz16(stu_bar[i].start_x+8,stu_bar[i].start_y+5,-8,BLUE,stu_bar[i].p_father);
}puthz16(stu_bar[0].start_x+8,stu_bar[0].start_y+5,-8,WHITE,stu_bar[0].p_father);
old_bar=0;curr_bar=0;

/*读取按键字符,如为ESC则退出*/
while((key=specialkey())!=ESC){
old_bar=curr_bar;
if(sonbar_out==1)sonbar_out=0;
if(key==LEFT){
if(curr_bar==0)curr_bar=3;
else curr_bar=curr_bar-1;
}/*LEFT finished*/
if(key==RIGHT){
if(curr_bar==3)curr_bar=0;
else curr_bar=curr_bar+1;
}/*RIGHT finished*/
/*如按键为ENTER,则绘制子菜单*/
if(key==ENTER){
save_startx=stu_bar[curr_bar].start_x;
save_starty=stu_bar[curr_bar].start_y+stu_bar[curr_bar].length_y+1;
save_endx=stu_bar[curr_bar].start_x+stu_bar[curr_bar].length_x;
/*保存子菜单展开后掩盖住的图象*/ save_endy=stu_bar[curr_bar].start_y+stu_bar[curr_bar].length_y+stu_bar[curr_bar].num_son*stu_bar[curr_bar].length_y+1;
size=imagesize(save_startx,save_starty,save_endx,save_endy);

if(size!=-1)
{
buf=malloc(size);
if(buf)getimage(save_startx,save_starty,save_endx,save_endy,buf);
else {printf("OUT MEMORY");exit(0);}
}
setviewport(save_startx,save_starty,save_endx,save_endy,1);
setcolor(WHITE);
clearviewport();
for(i=1;i<=stu_bar[curr_bar].num_son;i++)
{
rectangle(0,0,stu_bar[curr_bar].length_x,i*stu_bar[curr_bar].length_y);
setfillstyle(SOLID_FILL,LIGHTGRAY);
floodfill(stu_bar[curr_bar].length_x-1,i*stu_bar[curr_bar].length_y-1,WHITE);
}
for(i=0;i<stu_bar[curr_bar].num_son;i++)
puthz16(8,i*stu_bar[curr_bar].length_y+5,-8,BLUE,stu_bar[curr_bar].p_son[i]);

puthz16(8,5,-8,WHITE,stu_bar[curr_bar].p_son[0]);
old_sonbar=0;curr_sonbar=0;

if(stu_bar[curr_bar].num_son)
while(((key_son=specialkey())!=ESC)&&sonbar_out==0){
old_sonbar=curr_sonbar;
if(key_son==UP){
if(curr_sonbar==0) curr_sonbar=stu_bar[curr_bar].num_son-1;
else curr_sonbar=curr_sonbar-1;
}

if(key_son==DOWN){
if(curr_sonbar==(stu_bar[curr_bar].num_son-1)) curr_sonbar=0;
else curr_sonbar=curr_sonbar+1;
}

puthz16(8,old_sonbar*stu_bar[curr_bar].length_y+5,-8,BLUE,stu_bar[curr_bar].p_son[old_sonbar]);
puthz16(8,curr_sonbar*stu_bar[curr_bar].length_y+5,-8,WHITE,stu_bar[curr_bar].p_son[curr_sonbar]);

if(key_son==ENTER){
setviewport(0,0,639,479,1);
putimage(save_startx,save_starty,buf,COPY_PUT);
free(buf);
sonbar_out=1;
if(curr_bar==0)
switch(curr_sonbar){
case 0:
fil_open(); /*调用stu_sub.c文件中fil_open()函数,打开文件*/
break;
case 1:
fil_new(); /*调用stu_sub.c文件中fil_new()函数,新建文件*/
break;
case 2:
fil_save(); /*调用stu_sub.c文件中fil_save()函数,保存文件*/
break;
case 3:
sys_exit(); /*调用stu_sub.c文件中sys_exit()函数,退出系统*/

}
if(curr_bar==1)
switch(curr_sonbar){
case 0:
dat_add(); /*调用stu_sub.c文件中dat_add()函数,添加记录*/
break;
case 1:
dat_dele(); /*调用stu_sub.c文件中dat_dele()函数,删除记录*/
break;
case 2:
dat_mod(); /*调用stu_sub.c文件中dat_mod()函数,修改记录*/
break;
}

} /*key_son=ENTER finished*/

}/*key_son all finished*/
if(sonbar_out==0){
setviewport(0,0,639,479,1);
putimage(save_startx,save_starty,buf,COPY_PUT);
free(buf); /*还原子菜单掩盖住的图象,并释放子菜单所占用的内存*/
}
/*如果子菜单项为0*/
if(!stu_bar[curr_bar].num_son){
if(curr_bar==2)
fil_prn(); /*调用stu_sub.c文件中fil_prn()函数,打印文件*/
if(curr_bar==3)
hel_mess(); /*调用stu_sub.c文件中hel_mess()函数,显示帮助信息*/
}
} /*ENTER finished*/
puthz16(stu_bar[old_bar].start_x+8,stu_bar[old_bar].start_y+5,-8,BLUE,stu_bar[old_bar].p_father);
puthz16(stu_bar[curr_bar].start_x+8,stu_bar[curr_bar].start_y+5,-8,WHITE,stu_bar[curr_bar].p_father);

}/*key all finished*/

fcloseall(); /*关闭所有文件*/
closegraph(); /*关闭图形状态*/
}
自己改改!!!
希望能解决您的问题。

❹ 求用C语言怎么实现学生信息录入功能

* 1。根据学生信息定义一个结构体类型,再说明一个该结构体类型的数组。*/
struct stu_info{
char stuNo[10];/* No */
char stuName[30];/* Name */
float stuScore[3];/* the three scores */
float aveScore; /* average score */
float totalScore; /* total score */
}stu[10];
/* 2。用input函数从键盘上输入10个学生的数据。 */
void input()
{ int i = 0;
printf("Input the students' infomation(FORMAT LIKE:No Name score1 score2 score3):\n");
while(i < 10)
{ printf("Input %d:",i + 1);
scanf("%s%s%f%f%f",stu[i].stuNo,stu[i].stuName,&stu[i].stuScore[0],&stu[i].stuScore[1],&stu[i].stuScore[2]);
i++;
}
}

❺ C语言输入学生信息

scanf里面的空格与/去掉

❻ C语言在键盘上输入三个学生的信息(包含学号,姓名,三门课的成绩)并在显示器上输

id, name, &m1

id, name, m1

voidprintScore(intscore[4][3])

{inti,j;for(i=0;i<4;i++)

{printf("学生%d的三门成绩分别为:

",i+1);for(j=0;j<3;j++)

{printf("%d ",score<i>[j]);

if(j==2)printf(" ");}}printf(" ");}

printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。

函数介绍

printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:intprintf(constchar*format);

函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。

printf()函数的调用格式为:printf("<格式化字符串>",<参量表>);其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

以上内容参考:网络-printf()

❼ c语言录入10个学生信息,包括学号姓名,5门课成绩,并要求录入学生各科成绩,总分,最高最低分,前五名

#include <stdio.h>
#include <math.h>
typedef struct student{
char num[10];
char name[5];
int score1[50],score2[50],score3[50],score4[50],score5[50];
int sum[10];
struct student *p;
}N;
N *ks(){
N *head,*next,*end,sum[10];
head=(N*)malloc(sizeof(N));
next=head;
for(int i=0;i<10;i++){
printf("请第%d次输入学号,性别,名字,5科成绩\n",i+1);
end=(N*)malloc(sizeof(N));
scanf("%s%s%d%d%d%d%d",&end->num,&end->name,&end->score1,&end->score2,&end->score3,&end->score4,&end->score5);
next->p=end;
next=end;
}
end->p=NULL;
return head;
}
void bl(N *head){
int S[10],F[100],f[100],K[20];
int V1[20],V2[20],V3[20],V4[20],V5[20];
N *end=head->p;
int i=0;
char N[10];
float v1,v2,v3,v4,v5;
while(end){
if(i==0)printf("总分前5学%s的score1分数是%dscore2分数是%d\nscore3分数是%dscore4分数是%dscore5分数是%d",end->num,*end->score1,*end->score2,*end->score3,*end->score4,*end->score5);
if(i==2)printf("总分前5学号%s的score1分数是%dscore2分数是%d\nscore3分数是%dscore4分数是%dscore5分数是%d",end->num,*end->score1,*end->score2,*end->score3,*end->score4,*end->score5);

❽ c语言录入文件信息时如何确定某一学号的人已存在

思路:

1、用变量接收输入。

2、读取文件内容到内存中(比如用链表保存)。

3、循环遍历内存数据,对比输入的值,存在相同则表示已存在。

下面代码是我写得演示:

#include <stdio.h>

#include <stdlib.h>

#include <malloc.h>

#include <windows.h>

#define P "C:\1.txt"

typedef struct stu_info

{

int sNum;// 学号

char name[20];//姓名

struct stu_info *next;

}SINFO;

int insert2File(char path[]);// 向文件末尾插入一条学生信息

SINFO * selectALLFILE(char path[]);//只读模式打开文本,获取信息, 返回信息链表头节点(该函数单独调用的话,记得调用freeSINFOS释放内存)

int checkSN(SINFO sinfo,char path[]);//检查路径下文件中,学号是否存在,存在返回1,否则返回0

int freeSINFOS(SINFO *sHead);//释放链表内存

void showSINFOS(SINFO *sHead);//打印链表信息

int main()

{

SINFO *sHead=NULL;

while(1)

{

sHead=selectALLFILE(P);

showSINFOS(sHead);

insert2File(P);

free(sHead);

sHead=NULL;

printf("按任意键继续录入。。。 "),getchar();

system("cls");

}

return 0;

}

void showSINFOS(SINFO *sHead)

{

printf("当前从文件加载到内存中的信息为: ");

if(sHead && sHead->next)

while(sHead->next)

{

printf("学号:%d 姓名:%s ",sHead->next->sNum,sHead->next->name);

sHead=sHead->next;

}

}

int insert2File(char path[])

{

SINFO sinfo;

FILE *fp=NULL;

if(!(fp=fopen(path,"at+")))return 0;

printf("请输入要插入的学生信息: ");

printf(" 学号:"),scanf("%d",&sinfo.sNum);

printf(" 姓名:"),scanf("%s",sinfo.name),getchar();

if(checkSN(sinfo,path))

{

printf("当前学号已存在!新增失败! ");

return 0;

}

fprintf(fp,"%d %s ",sinfo.sNum,sinfo.name);

fclose(fp);

printf("新增信息插入成功! ");

return 1;

}

SINFO *selectALLFILE(char path[])//查询文件

{

SINFO *sHead=NULL,*sTail=NULL,*sNew=NULL,sTemp;

FILE *fp=NULL;

if(!(fp=fopen(path,"rt"))) return NULL;

fseek(fp,0,SEEK_SET);

sHead=(SINFO *)malloc(sizeof(SINFO));

if(!sHead)return NULL;

sHead->next=NULL;

while(fscanf(fp,"%d %s ",&sTemp.sNum,sTemp.name)!=-1)

{

sNew=(SINFO *)malloc(sizeof(SINFO));

if(!sNew)return NULL;

sNew->next=NULL;

sNew->sNum=sTemp.sNum;

sprintf(sNew->name,"%s",sTemp.name);

if(!sHead->next)

sHead->next=sNew;

else

sTail->next=sNew;

sTail=sNew;

}

fclose(fp);

return sHead;

}

int checkSN(SINFO sinfo,char path[])//检查学号是否存在,存在返回1,否则返回0

{

SINFO *sHead=NULL;

sHead=selectALLFILE(path);

if(!sHead) return 0;

if(!sHead->next) {freeSINFOS(sHead);return 0;}

while(sHead->next)

{

if(sinfo.sNum==sHead->next->sNum) return 1;

sHead=sHead->next;

}

freeSINFOS(sHead);

return 0;

}

int freeSINFOS(SINFO *sHead)

{

SINFO *sTemp=NULL;

if(!sHead)return 1;

while(sHead->next)

{

sTemp=sHead->next->next;

free(sHead->next);

sHead->next=sTemp;

}

free(sHead);

return 1;

}

热点内容
php批量查询 发布:2025-01-16 10:43:38 浏览:917
适合搭建代理服务器的云 发布:2025-01-16 10:42:49 浏览:428
我的世界手机版服务器怎么注册 发布:2025-01-16 10:41:30 浏览:614
小米云电视服务器 发布:2025-01-16 10:37:03 浏览:350
php开源wiki 发布:2025-01-16 10:27:19 浏览:189
sql加字段备注 发布:2025-01-16 10:21:49 浏览:565
线割编程教程 发布:2025-01-16 10:21:03 浏览:18
谷歌浏览器缓存删除 发布:2025-01-16 10:19:36 浏览:414
数据库txt 发布:2025-01-16 10:16:41 浏览:457
小米账号王者传奇脚本挂机 发布:2025-01-16 10:07:25 浏览:917