久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
C語言元器件信息管理系統源程序設計
[打印本頁]
作者:
954544619
時間:
2019-9-3 14:01
標題:
C語言元器件信息管理系統源程序設計
元器件信息管理系統
單片機源程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct component
{
char identifier[15]; // 1、編號
char type[15]; // 2、類型
char model[15]; // 3、型號
char number[15]; // 4、數目
char enclosure[15]; // 5、封裝
char factory[15]; // 6、廠家
char money[15]; // 7、價格
char date[15]; // 8、生產日期
};
//類型定義語句
typedef struct node
{
struct component data;
struct node *next;
}Node;
//添加信息函數
void Add(Node *worker)
{
Node *p, *q;
char n[10];
q = worker;
while (q->next != NULL)
{
q = q->next;
}
while (1)
{
printf("提示:輸入0返回主菜單!\n");
printf("請輸入編號:");
scanf("%s", n);
if (strcmp(n, "0") == 0)
{
break;
}
p = (Node *)malloc(sizeof(Node));
strcpy(p->data.identifier, n);
printf("請輸入類型:");
scanf("%s", p->data.type);
printf("請輸入型號:");
scanf("%s", p->data.model);
printf("請輸入數目:");
scanf("%s", p->data.number);
printf("請輸入封裝:");
scanf("%s", p->data.enclosure);
printf("請輸入廠家:");
scanf("%s", p->data.factory);
printf("請輸入價格:");
scanf("%s", p->data.money);
printf("請輸入生產日期:");
scanf("%s", p->data.date);
printf("提示:已經完成一條記錄的添加!");
p->next = NULL;
q->next = p;
q = p;
}
}
//修改元件信息函數
int change(Node *worker)
{
Node *p;
char find[20];
p = worker->next;
if (p == NULL)
{
printf("\n提示:沒有元件可以修改!\n");
return 0;
}
printf("請輸入要修改的編號");
scanf("%s", find);
while (p != NULL)
{
if (strcmp(p->data.identifier, find) == 0)
{
break;
}
p = p->next;
}
if(p!=NULL)
{
int x;
while (1)
{
printf("完成修改請輸入0,否則輸入非0數字進行修改!");
scanf("%d", &x);
if (x == 0)
{
break;
}
printf(" 請輸入新的編號: ");
scanf("%s", p->data.identifier);
printf(" 請輸入新的元件類型: ");
scanf("%s", p->data.type);
printf(" 請輸入新的元件型號: ");
scanf("%s", p->data.model);
printf(" 請輸入新的元件數目: ");
scanf("%s", p->data.number);
printf(" 請輸入新的元件封裝: ");
scanf("%s", p->data.enclosure);
printf(" 請輸入新的元件廠家: ");
scanf("%s", p->data.factory);
printf(" 請輸入新的元件價格: ");
scanf("%s", p->data.money);
printf(" 請輸入新的元件生產日期: ");
scanf("%s", p->data.date);
printf(" \n提示:該元器件資料已經修改!\n ");
}
}
else
printf("\n提示:沒有你要修改的資料!\n ");
}
//顯示元件信息函數
int Disp(Node *worker)
{
Node *p;
p = worker->next;
if (p == NULL)
{
printf(" \n提示:沒有信息可以顯示!\n ");
return 0;
}
printf("\t\t\t\t顯示結果\n");
printf(" \n編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
while (p!=NULL)
{
printf("\n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t\n ", p->data.identifier, p->data.type,
p->data.model, p->data.number, p->data.enclosure, p->data.factory,
p->data.money, p->data.date);
p = p->next;
}
}
//查詢元件信息函數: 按職元件編號查詢或按元件類型查詢
int Cha_xun(Node *worker)
{
Node *p;
int sel,i=0;
char find[20];
p = worker->next;
if (p==NULL)
{
printf(" \n提示:沒有資料可以查詢!\n ");
return 0;
}
printf("\n提示:\n 0 退出\n1 按編號查詢\n2 按元件類型 \n3 元件型號\n4 元件數目\n5 元件封裝\n6 元件廠家\n7 元件價格\n8 元件生廠日期\n ");
printf("請選擇:");
scanf("%d", &sel);
if (sel == 1)
{
printf("\n請輸入你要查詢分類的編號:");
scanf("%s", find);
while (p!=NULL)
{
if (strcmp(p->data.identifier, find) == 0)
{
printf(" 編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
printf(" \n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t \n ", p->data.identifier, p->data.type,
p->data.model, p->data.number, p->data.enclosure, p->data.factory,
p->data.money, p->data.date);
i++;
}
p = p->next;
}
if(i==0)
printf("查找的信息有誤\n");
}
else if (sel == 2)
{
printf(" \n輸入你要查詢分類的元件編號:");
scanf("%s", find);
while (p!=NULL)
{
if (strcmp(p->data.type, find) == 0)
{
printf(" 編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
printf(" \n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t \n ", p->data.identifier, p->data.type,p->data.model,
p->data.number, p->data.enclosure, p->data.factory, p->data.money, p->data.date);
i++;
}
p = p->next;
}
if(i==0)
printf("查找的信息有誤\n");
}
else if (sel == 3)
{
printf(" \n輸入你要查詢型號編號:");
scanf("%s", find);
while (p!=NULL)
{
if (strcmp(p->data.model, find) == 0)
{
printf(" 編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
printf(" \n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t \n ", p->data.identifier, p->data.type,p->data.model,
p->data.number, p->data.enclosure, p->data.factory, p->data.money, p->data.date);
i++;
}
p = p->next;
}
if(i==0)
printf("查找的信息有誤\n");
}
else if (sel == 4)
{
printf(" \n輸入你要查詢的數目:");
scanf("%s", find);
while (p!=NULL)
{
if (strcmp(p->data. number, find) == 0)
{
printf(" 編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
printf(" \n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t \n ", p->data.identifier, p->data.type,p->data.model,
p->data.number, p->data.enclosure, p->data.factory, p->data.money, p->data.date);
i++;
}
p = p->next;
}
if(i==0)
printf("查找的信息有誤\n");
}
else if (sel == 5)
{
printf(" \n輸入你要查詢的封裝:");
scanf("%s", find);
while (p!=NULL)
{
if (strcmp(p->data. enclosure, find) == 0)
{
printf(" 編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
printf(" \n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t \n ", p->data.identifier, p->data.type,p->data.model,
p->data.number, p->data.enclosure, p->data.factory, p->data.money, p->data.date);
i++;
}
p = p->next;
}
if(i==0)
printf("查找的信息有誤\n");
}
else if (sel == 6)
{
printf(" \n輸入你要查詢的廠家:");
scanf("%s", find);
while (p!=NULL)
{
if (strcmp(p->data. factory, find) == 0)
{
printf(" 編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
printf(" \n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t \n ", p->data.identifier, p->data.type,p->data.model,
p->data.number, p->data.enclosure, p->data.factory, p->data.money, p->data.date);
i++;
}
p = p->next;
}
if(i==0)
printf("查找的信息有誤\n");
}
else if (sel == 7)
{
printf(" \n輸入你要查詢的價格:");
scanf("%s", find);
while (p!=NULL)
{
if (strcmp(p->data. money, find) == 0)
{
printf(" 編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
printf(" \n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t \n ", p->data.identifier, p->data.type,p->data.model,
p->data.number, p->data.enclosure, p->data.factory, p->data.money, p->data.date);
i++;
}
p = p->next;
}
if(i==0)
printf("查找的信息有誤\n");
}
else if (sel == 8)
{
printf(" \n輸入你要查詢的生產日期:");
scanf("%s", find);
while (p!=NULL)
{
if (strcmp(p->data.date , find) == 0)
{
printf(" 編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n ");
printf(" \n %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t \n ", p->data.identifier, p->data.type,p->data.model,
p->data.number, p->data.enclosure, p->data.factory, p->data.money, p->data.date);
i++;
}
p = p->next;
}
if(i==0)
printf("查找的信息有誤\n");
}
else if (sel == 0)
return 0;
}
int Tong_ji(Node *worker)//統計元件信息
{
Node *p;
int sel;
char find[20];
p = worker->next;
if (p==NULL)
{
printf(" \n提示:沒有資料可以查詢!\n ");
return 0;
}
printf("\n提示:\n輸入 0---- 退出\n輸入 1----按型號查詢\n輸入 2-----按元件類型 \n3 元件型號\n4 元件數目\n5 元件封裝\n6 元件廠家\n7 元件價格\n8 元件生廠日期");
printf("\n請選擇:");
scanf("%d", &sel);
if (sel == 1)
{
int i=1;
while (p->next!=NULL)
{
i++;
if(strcmp(p->data.identifier,p->next->data.identifier )==0)
i--;
p = p->next;
}
printf("共有%d種編號的元件\n",i);
}
else if (sel == 2)
{
int i=1;
while (p->next!=NULL)
{
i++;
if(strcmp(p->data.type,p->next->data.type )==0)
i--;
p = p->next;
}
printf("共有%d種類型的元件\n",i);
}
else if (sel == 3)
{
int i=1;
while (p->next!=NULL)
{
i++;
if(strcmp(p->data.model,p->next->data.model )==0)
i--;
p = p->next;
}
printf("共有%d種型號的元件\n",i);
}
else if (sel == 4)
{
int i=1;
while (p->next!=NULL)
{
i++;
if(strcmp(p->data.number,p->next->data.number )==0)
i--;
p = p->next;
}
printf("共有%d種數目的元件\n",i);
}
else if (sel == 5)
{
int i=1;
while (p->next!=NULL)
{
i++;
if(strcmp(p->data.enclosure,p->next->data.enclosure )==0)
i--;
p = p->next;
}
printf("共有%d種封裝的元件\n",i);
}
else if (sel == 6)
{
int i=1;
while (p->next!=NULL)
{
i++;
if(strcmp(p->data.factory,p->next->data.factory )==0)
i--;
p = p->next;
}
printf("共有%d種廠家的元件\n",i);
}
else if (sel == 7)
{
int i=1;
while (p->next!=NULL)
{
i++;
if(strcmp(p->data.money,p->next->data.money )==0)
i--;
p = p->next;
}
printf("共有%d種價格的元件\n",i);
}
else if (sel == 8)
{
int i=1;
while (p->next!=NULL)
{
i++;
if(strcmp(p->data.date,p->next->data.date)==0)
i--;
p = p->next;
}
printf("共有%d種生產日期的元件\n",i);
}
else if (sel == 0)
return 0;
}
//刪除元件信息函數
int Delete(Node *worker)
{
Node *p, *r;
char find[10];
p = worker->next;
if (p == NULL)
{
printf("提示:沒有元件信息可以刪除!\n ");
return 0;
}
printf(" \n提示:請輸入你要刪除的元件編號!\n ");
scanf("%s", find);
while (p != NULL)
{
if (strcmp(p->data.identifier, find) == 0)
{
break;
}
p = p->next;
}
if (p!=NULL)
{
r = worker;
while (r->next != p)
{
r = r->next;
}
r->next = r->next->next;
printf("已成功刪除\n");
} else
printf("系統中沒有該信息\n");
}
//將職工信息保存到文件中
void save(Node *worker)
{
int n;
Node *p = NULL;
char filename[16];
FILE *fp;
printf("是否保存到文件?( 1-----保存!,0-----不保存! )");
scanf("%d", &n);
if (n == 1)
{
if (worker->next == NULL)
{
printf(" 沒有記錄!");
}
else
{
p = worker->next;
}
printf("請輸入要保存該信息的文件名:\n"); /*輸入要保存的文件的名字*/
scanf("%s",filename);
fp=fopen(filename,"w");
while (p != NULL)
{
fprintf(fp, " %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t ", p->data.identifier, p->data.type, p->data.model,
p->data.number, p->data.enclosure, p->data.factory, p->data.money,p->data.date);
p = p->next;
}
fclose(fp);
}
}
//讀取元件信息
void Du_qu(Node *worker)
{
int a;
char filename[16];
Node *p;
FILE *fp;
char str[1000]={0};
printf("請輸入存有元件信息的文件名:\n");
scanf("%s",filename);
if((fp=fopen(filename,"r"))==NULL)
{
printf("文件名錯誤!\n ");
}
fgets(str,1000,fp);
printf("編號\t類型\t型號\t數目\t封裝\t廠家\t價格\t生產日期\n");
for(a=1;a<(strlen(str)+1);a++)
{
printf("%c",str[a-1]);
if(a%25==0)
printf("\n");
}
fclose(fp); printf("\n");
return 0;
}
//主函數實現
int main()
{
Node *worker;
int flag=1;
worker = (Node*)malloc(sizeof(Node));
worker->next = NULL;
while(flag)
{
printf("\t元 件 信 息 管 理 系 統\n");
printf("=================菜 單==================\n ");
printf("| 1.添加元件信息 |\n ");
printf("| 2.修改元件信息 |\n ");
printf("| 3.顯示元件信息 |\n ");
printf("| 4.查找元件信息 |\n ");
printf("| 5.刪除元件信息 |\n ");
printf("| 6.讀取元件信息 |\n ");
printf("| 7.統計元件信息 |\n ");
printf("| 0.退出 |\n ");
printf("========================================\n ");
printf("輸入你選擇的序號:");
scanf("%d", &flag);
switch (flag)
{
case 0: printf(" \n提示:退出系統!\n "); break;
case 1: Add(worker); save(worker); break; //添加元件信息,保存到文件中
case 2: change(worker); break; //修改元件信息
case 3: Disp(worker); break; //顯示元件信息
case 4: Cha_xun(worker); break; //查詢元件信息
case 5: Delete(worker); break; //刪除元件信息
case 6: Du_qu(worker); break; //讀取元件信息
case 7: Tong_ji(worker); break; //統計元件信息
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
元器件信息管理系統.zip
(302.62 KB, 下載次數: 18)
2019-9-3 14:01 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久久精品网站
|
99精品国产一区二区三区
|
h在线看
|
日本午夜免费福利视频
|
在线视频中文字幕
|
国产精品免费一区二区
|
国产伦精品一区二区三区高清
|
亚洲欧洲精品成人久久奇米网
|
国产精品久久久久久模特
|
日本不卡一区
|
欧美在线二区
|
成人免费视频网站在线看
|
欧美一区二区免费视频
|
看a网站
|
欧美亚洲视频
|
久久综合久色欧美综合狠狠
|
亚洲综合一区二区三区
|
亚洲精品一区国产精品
|
欧美日韩一区二区三区不卡视频
|
不卡一区
|
www..com18午夜观看
|
亚洲一区二区三区在线
|
99爱在线
|
91精品国产自产精品男人的天堂
|
性一交一乱一透一a级
|
91在线看网站
|
www.日韩
|
国产成人99久久亚洲综合精品
|
在线免费观看黄色av
|
亚洲综合久久网
|
99国产精品久久久久老师
|
国产精品国产自产拍高清
|
午夜在线
|
最新日韩在线
|
天天干狠狠操
|
99久久婷婷
|
亚洲在线日韩
|
欧美成人精品二区三区99精品
|
日本黄视频在线观看
|
中文字幕在线视频一区二区三区
|
在线观看欧美一区
|