您的位置:

c语言自制系统,c语言制作系统

本文目录一览:

用c语言制作商店商品管理系统

#include stdio.h

#include conio.h

#include bios.h

#include dos.h

#include malloc.h

#define NULL 0

#define LEN sizeof(struct mcd)

struct data /*声明一个日期的结构体类型*/

{

int year;

int month;

int day;

};

struct mcd /*声明有关商品信息的结构体类型*/

{

int code; /*编 号*/

char name[12]; /*品 名*/

long price; /*单 价*/

int num; /*数 量*/

char place[20]; /*产 地*/

struct data putdate; /*入库时间*/

struct data selldate; /*销售时间*/

struct mcd * next; /*运用指针处理链表*/

};

int n; /*记录链表有几条数据*/

struct mcd *head; /*声明链表头的指针*/

creat() /*输入商品信息的函数*/

{

struct mcd *p1,*p2;

n=0;

p1=p2=(struct mcd *)malloc(LEN); /*开辟一个新单元存放信息*/

head=p1;

loop: {

clrscr();

printf("商品录入系统\n");

printf("录入号:%d\n",n+1);

printf("编 码:");

scanf("%d",p1-code);

printf("品 名:");

scanf("%s",p1-name);

printf("单 价:");

scanf("%ld",p1-price);

printf("数 量:");

scanf("%d",p1-num);

printf("产 地:");

scanf("%s",p1-place);

printf("入库时间:");

scanf("%d-%d-%d",p1-putdate.year,p1-putdate.month,p1-putdate.day);

}

while(p1-num!=0)

{

n=n+1;

if(n==1)head=p1;

else p2-next=p1;

p2=p1;

p1=(struct mcd *)malloc(LEN);

goto loop;

}

p2-next=NULL;

main();

}

print() /*输出数据列表的函数*/

{

int m=0;

struct mcd *p;

clrscr();

printf("编 号||品 名||单 价||数 量|| 产 地 ||入 库 时 间\n");

p=head;

if(head!=NULL)

do

{

printf("%-10d%-14s%-12ld%-10d%-22s%-4d-%-2d-%-2d\n",p-code,p-name,p-price,p-num,p-place,p-putdate.year,p-putdate.month,p-putdate.day);

p=p-next;

m=m+1;

if(m%23==0){gotoxy(10,25);printf("按任意键继续.");getch();}

}while(p!=NULL);

getch();

main();

}

sell()

{

int code,m=3,ch;

long sum=0;

struct mcd *p1;

struct date today;

getdate(today);

clrscr();

printf("商品销售系统\n");

printf("编 号||||品 名|||| 产 地 ||||单 价(元)||||出 售 时 间\n");

loop:

do{

gotoxy(23,25);

printf("按任意键继续,F2结帐,ESC键退出");

ch=bioskey(0);

}while(0);

switch(ch)

{

case 15360:{

if(sum==0)

{

gotoxy(1,m);printf("还没有购买商品!");

getch();

sell();

break;

}

else {

gotoxy(1,m);

printf("------------------------------------------------------------------------------");

gotoxy(47,m+1);

printf("总价: %-12ld元",sum);

getch();

main();

break;

}

}

case 283:{main();break;}

default:

{

gotoxy(23,25);

printf("请输入商品编码,会显示商品信息");

gotoxy(1,m);

scanf("%d",code);

if(head==NULL)

{

printf("你还没有进货.");

getch();

main();

break;

}

p1=head;

while(code!=p1-codep1-next!=NULL)

{p1=p1-next;}

if(code==p1-code)

{

gotoxy(13,m);

printf("%-16s%-24s%-16ld%4d-%2d-%2d",p1-name,p1-place,p1-price,today.da_year,today.da_mon,today.da_day);

m=m+1;

p1-num=p1-num-1;

sum=sum+p1-price;

}

}

goto loop;

}

}

go()

{

int ch;

clrscr();

printf("请问你要进行什么操作?\n1,插入;2,删除;3,什么也不做;\n");

loop:

do{

ch=bioskey(0);

}while(0);

switch(ch)

{

case 561:insert();break;

case 818:del();break;

case 1075:main();break;

case 283:break;

default:{gotoxy(1,3);printf("请按数字键选择!");goto loop;}

}

getch();

main();

}

insert()

{

struct mcd *p0,*p1,*p2;

p0=p1=p2=(struct mcd*)malloc(LEN);

p1=head;

clrscr();

printf("请输入要插入的商品的信息:\n");

printf("编 码:");

scanf("%d",p0-code);

printf("品 名:");

scanf("%s",p0-name);

printf("单 价:");

scanf("%ld",p0-price);

printf("数 量:");

scanf("%d",p0-num);

printf("产 地:");

scanf("%s",p0-place);

printf("入库时间:");

scanf("%d-%d-%d",p0-putdate.year,p0-putdate.month,p0-putdate.day);

if(head==NULL)

{

head=p0;

p0-next=NULL;

}

else

{

while((p0-codep1-code)(p1-next!=NULL))

{

p2=p1;

p1=p1-next;

}

if(p0-code=p1-code)

{

if(head==p1)head=p0;

else p2-next=p0;

p0-next=p1;

}

else

{

p1-next=p0;p0-next=NULL;

}

}

n=n+1;

print();

}

del()

{

int code;

struct mcd *p1,*p2;

clrscr();

printf("请输入要删除商品的编号:");

scanf("%d",code);

if(head==NULL)

{

printf("你还没有进货.");

getch();

main();

}

p1=head;

while(code!=p1-codep1-next!=NULL)

{

p2=p1;

p1=p1-next;

}

if(code==p1-code)

{

if(code==head)head=p1-next;

else p2-next=p1-next;

n=n-1;

print();

}

else

{

printf("找不到这条商品信息.");

getch();

print();

}

}

main()

{

do{

clrscr();

printf(" . : : \n");

printf(" '. :'''''''': : : :'''':'''':\n");

printf(" '. : : :'''''' :'''''' : : :\n");

printf(" ................ : : :', :', ''''':''''': : :\n");

printf(" '. .' : : : ', : ', : :....:....:\n");

printf(" '. .' : : ,' ,' : : : :\n");

printf(" '.' : : ', : : : :\n");

printf(".........:........... :........: : ', : :....:....:\n");

printf(" ............... :''''''''''''''': '''':'''' : \n");

printf(" : , , : :'''''': :'''''': ,' : : \n");

printf(" : , , : : : : : :''''''''': : ,' : \n");

printf(" : , , : : : : : : : : ,' ....:.... \n");

printf(" :, :''''''': : : : : : : : :,' : \n");

printf(" : : : : : : : : :'''''''''' ,' : \n");

printf(" : : : : : : : : :.......... ,' : \n");

printf(" : :.......: : : : : : : : ' : \n");

printf(" : : : : : : : : ......:.....\n");

printf(" : ..: :......: :......: :.........: \n");

gotoxy(60,19);

printf("赵飞宇制造 V1.0");

gotoxy(10,21);

printf("1,销售系统;2,进货系统;3,查看列表;4,插入删除;5,销售盈亏;6,帮助文档");

gotoxy(32,24);

printf("按ESC键退出");

key();

}while(0);

}

key()

{

int ch;

loop:

do{

ch=bioskey(0);

}while(0);

switch(ch)

{

case 561:sell();break;

case 818:creat();break;

case 1075:print();break;

case 1332:go();break;

case 283:break;

default:

{

gotoxy(30,22);

printf("请按数字键选择!");

goto loop;

}

}

}

怎样用C语言制作学生信息管理系统

还真不想再写代码了啊。。。。。

直接跟你说下思路吧。。。。

首先创建一个结构体,如——

struct student

{

char num[10]; //学号

char name[20]; //姓名

char sex[4]; //性别

int age; //年龄

int flag; //一个标示符(下面会说用法)

};

然后就定义一个student类型的数组stu[max],在前面#define max 1000000,你也可以把max定义得小一点,这是用来表示最大能容纳多少个学生信息。。。。

说到flag的用处,我不清楚你了不了解,还是先跟你说下吧。。。。

先考一下你,知道怎样把一个数组里面的某一个元素清空吗?清空就表示能在那个位置再次赋值,没清空的位置就不能重复赋值。把那个元素设为a[x],可能你会想着把a[x]=0不就得啦,那好,如果用这种方法,那么如果你想寻找数组a中可以再次赋值的元素,然后进行赋值,你是不是要通过一个判别式来对数组a的每一个元素进行判断,看看它是否能被再赋值,对吧,那这个判别式肯定就是判断a中的数值是否为零了。但是你想一下,如果一开始a中某个元素的值就是等于0,并不表示清空状态,那你这样的判别式能成立吗,所以我们要用到一个标示符flag。。。。

当flag=1时,表示该数组的元素已存在,当flag=0时,表示该数组的元素是无效的,这样的话就不需要对数组中的每个元素进行什么清空操作了,就像上面的数组stu,这么多元素,你怎么清空。。。。

然后有一个最重要的是怎样存储数据,因为没用到数据库,所以就用txt文件来存储吧,给你一个相关的代码——

int load_student() //把已存在的储存数据的txt文件打开

{

FILE *fp;

if((fp=fopen("student.txt","rb"))==NULL) //判断文件是否存在

{

printf("不能打开此文件.\n");

exit(0);

}

for(int i=0;iSIZE;i++) //存在的话就打开它

{

fread(stu[i],sizeof(struct student),1,fp);

}

fclose(fp);

return 0;

}

int save_student() //把数据存放进txt文件中

{

FILE *fp;

if((fp=fopen("student.txt","wb"))==NULL)

{

printf("不能打开此文件.\n");

exit(0);

}

for(int i=0;iSIZE;i++)

{

fwrite(stu[i],sizeof(struct student),1,fp);

}

fclose(fp);

return 0;

}

这是一个比较基本的代码,你可以灵活的修改一下,实现读写过程的代码也就是这样了。。。。

然后是功能的实现,这方面就得看你的要求了,不过我建议你把每个界面做成一个函数,实现模块化,如——

int shouye() //首页

{

system("cls"); //清屏

int num1;

printf("**********************************\n");

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

printf("**********************************\n");

printf("\n\n");

printf("1、更改学生信息\n\n");

printf("2、查看学生信息\n\n");

printf("3、退出系统\n\n");

scanf("%d",num1); //输入操作

if(num1==1)

update(); //进入学生信息更改模块

else if(num1==2)

check(); //进入学生信息查看模块

else

exit(0); //退出系统

return 0;

}

在给多你一个界面函数的代码吧——

int update()

{

system("cls");

int num2;

printf("**********************************\n");

printf(" 更改成绩 \n");

printf("**********************************\n");

printf("\n\n");

printf("1、增加学生信息\n\n");

printf("2、修改学生信息\n\n");

printf("3、返回上一层\n\n");

scanf("%d",num2);

if(num2==1)

add();

else if(num2==2)

correct();

else

shouye();

return 0;

}

大概就是这种模式,我就不多弄了,你自己开拓一下吧,可能你会问我主函数怎么实现,大概就是这样吧——

int main()

{

load_student(); //读取txt里面的内容

shouye();

return 0;

}

这里要说明一下,我给你这代码还不怎么完善的,只是简单跟你说下思路罢了,如果你招着复制的话,要记住,在你第一次运行之前,要先在你这工程目录低下创建一个名字为student的txt文件,不然会显示错误,因为load_student()那里就会判断是否存在student.txt文件,没的话就会显示错误的。。。。

我建议你简单地画下流程图,这样可以让你的编程思路更清晰,如果还有什么不清楚的地方可以Q我,410430209。。。。

希望这些对你有所帮助。。。。

C语言如何自制操作系统?

用objcopy做成二进制,格式是:objcopy -I elf格式 -S -R ".eh_frame" -R ".comment" -O binary elf文件 最终的二进制文件.例如: objcopy -I elf32-i386 -S -R ".eh_frame" -R ".comment" -O binary a.obj a.bin

c语言自制系统,c语言制作系统

2023-01-08
控制系统c语言,c语言控制plc

2023-01-04
c语言笔记讲解,c语言程序笔记

2022-11-23
c语言知识笔记,c语言最全笔记

2023-01-04
c语言后台系统,C语言系统开发

2022-11-28
传统c语言开发,C语言系统开发

2022-12-02
linux下c语言文件系统,linux系统写c语言

2022-11-30
android系统c语言,安卓 c语言

2022-12-01
c语言编辑电梯,c语言电梯控制系统

2023-01-04
求电梯控制c语言程序,电梯控制系统c语言程序

本文目录一览: 1、用C语言如何描述电梯的运行机制? 2、c语言设定电梯程序 3、求电梯控制c语言程序 4、C语言一道编程题,关于电梯调度运行的。 5、关于电梯的C语言应用题求解答 6、用C语言编写一

2023-12-08
求电梯控制c语言程序,电梯控制系统c语言程序

本文目录一览: 1、用C语言如何描述电梯的运行机制? 2、c语言设定电梯程序 3、求电梯控制c语言程序 4、C语言一道编程题,关于电梯调度运行的。 5、关于电梯的C语言应用题求解答 6、用C语言编写一

2023-12-08
制作app和c语言的关系,用c语言做app

2023-01-08
基础c语言笔记,C语言笔记

2023-01-06
制作c语言软件,c语言怎么制作软件

2022-12-01
c语言信息系统,c语言程序管理系统

2022-11-27
c语言系统技术架构,c语言 架构

2022-11-27
c语言系统清屏,c语音清屏

2022-11-28
c语言开发管理,c语言开发系统

2022-11-29
c语言订阅系统,c语言事件订阅机制

2022-12-01
一篇c语言笔记,c语言入门笔记

2022-12-02