C/C++課程設計 ——貨物管理系統

文章目錄

    • 1) 貨物管理系統1.0
    • 2) 貨物管理系統2.0

1) 貨物管理系統1.0

#include<stdio.h>
#include<string.h>
#include<stdlib.h>                                         
#include<windows.h>
typedef struct goods//結構體  
{int  num;int  price;char name[100];int  amount;int  kg;struct goods *next;} goods;struct goods *creathead()//建立  {struct goods *head;head=(struct goods *)malloc(sizeof(struct goods ));if(head==NULL){exit(0);}else{head->next==NULL;return head;}
}
void g()//定義函數 
{   system("color 6F"); printf("**************************************\n");printf("********** 1 輸入貨物信息 ************\n");printf("********** 2 增加貨物信息 ************\n");printf("********** 3 刪除貨物信息 ************\n");printf("********** 4 查詢貨物信息 ************\n");printf("********** 5 修改貨物信息 ************\n");printf("********** 6 顯示貨物信息 ************\n");printf("***********7 銷毀貨物信息 ************\n");printf("***********8 貨物排序信息 ************\n"); printf("********** 9  退出系統    ************\n");printf("**************************************\n");
}
void fun()//定義函數 
{
system("color 3F");
printf("************************************\n");
printf("************************************\n");
printf("*******歡迎使用貨物管理系統*********\n");
printf("************************************\n");
printf("************************************\n");
printf("************************************\n");
printf("********請按Enter鍵進入下一步*******\n"); 
getchar();
system("cls");
} 
void show(goods*head) //輸出 
{goods *p1,*p2;p1=p2=head;printf("請輸入貨物編號 貨物價格 貨物名稱 貨物數量 貨物質量 \n");while(1){p1=(struct goods*)malloc(sizeof(struct goods)); if(p1==NULL){printf("輸入貨物失敗\n");exit(-1); }else{scanf("%d %d %s %d %d",&p1->num,&p1->price,&p1->name,&p1->amount,&p1->kg);}p2->next=p1;p2=p1;if(p1->num==0){break;}}p1->next=NULL;
} void addlist(goods *head)//增加 {goods *p1,*p2;p1=p2=head;while(p1->next!=NULL){p1=p1->next;}p2=(goods*)malloc(sizeof(goods));scanf("%5d %5d %5s %5d %5d",&p2->num,&p2->price,&p2->name,&p2->amount,&p2->kg);p2->next=NULL;p1->next=p2;
}void change(goods *head)//修改   {int a; printf("----------請輸入你要修改的編號:");scanf("%d",&a);goods *p;p=head->next;while(1){if(p->num==a){break;	}p=p->next;} scanf("%d %d %s %d %d", &p->num,&p->price,&p->name,&p->amount,&p->kg);}void inquiry(goods *head)//查詢   {int b; goods *p;p=head;printf("請輸入你要查詢的貨物編號:\n"); scanf("%d",&b);while(p->num!=b){p=p->next;}printf("----------查詢結果----------");printf("貨物編號%d,貨物價格%d,貨物名稱%s,貨物數量%d,貨物重量%d:\n",p->num,p->price,p->name,p->amount,p->kg);
}
void deletelist(goods *head)//刪除 
{int c;printf("請輸入你要刪除的貨物編號:\n");scanf("%d",&c);goods*p1=head;goods*p2=head;while(p1!=NULL){if(p1->num==c){p1->next=p2->next;free(p1);printf("刪除成功!\n");break; }p2=p2->next;p1=p2->next;}	 
}
void print(goods *head)//輸出  
{goods *p;p=head->next;while(p->next!=NULL){printf("貨物信息:貨物編號%5d,貨物價格%5d,貨物名稱%5s,貨物數量%5d,貨物重量%5d\n",p->num,p->price,p->name,p->amount,p->kg); p=p->next; }
} void destroy(goods*head)//銷毀   
{goods *p;p=head;while(p->next!=NULL){p=p->next;free(p);}printf("該貨物信息已經被銷毀\n"); 
} void QQ()//登錄
{ char name[20],sercret[20];printf("請輸入你的用戶名\n");scanf("%s",&name);printf("請輸入你的密碼\n"); scanf("%s",&sercret); if(strcmp("1219913130",name)==0&&strcmp("666666",sercret)==0){printf("登錄成功"); }else{printf("登錄失敗");exit(-1); }}
void sort(goods*head)//排序 
{goods *p1,*p2,*p3;int x,i;int t;char name_[20];int num,amount,kg;for(x=0,p3=head->next;p3!=NULL;p3=p3->next){x++;
}
for(i=0;i<x;i++){for(p1=head->next,p2=head->next->next;p1!=NULL,p2!=NULL;p1=p1->next,p2=p2->next){if(p1->price<p2->price){t =p2->price;p2->price=p1->price;p1->price=t;strcpy(name_,p2->name);strcpy(p2->name,p1->name);strcpy(p1->name ,name_);num=p2->num;p2->num=p1->num;p1->num=num;amount=p2->amount;p2->amount=p1->amount;p1->amount=amount; kg=p2->kg;p2->kg=p1->kg;p1->kg=kg; }} }goods *p;p=head->next;while(p->next!=NULL){printf("貨物信息:貨物編號%5d,貨物價格%5d,貨物名稱%5s,貨物數量%5d,貨物重量%5d\n",p->num,p->price,p->name,p->amount,p->kg); p=p->next; }
}int main() //調用 
{struct goods*head;head=creathead();QQ();//system("date/t");//system("time/t");while(1){system("date/t");system("time/t");//fun();g();int n;printf("請輸入編號1-9\n");scanf("%d",&n);switch(n){case 1:{system("CLS\n");show(head);break;	}case 2:{system("CLS\n");addlist(head);break;}case 3:{system("CLS\n");deletelist(head);break;}case 4:{system("CLS\n");	inquiry(head);break;	}case 5:{system("CLS\n");change(head);break;}case 6:{system("CLS\n");print(head);break;}case 7:{system("CLS\n");destroy(head);break;}case 8:{system("CLS\n");sort(head);break;}case 9:{system("CLS\n");system("color 6F");printf("=============================================================\n");printf("||                                                       ||\n");printf("||                                                       ||\n");printf("||                         謝謝使用                      ||\n");printf("||                                                       ||\n");printf("||                                                       ||\n");printf("=============================================================\n");exit(0);default:printf("輸入有誤!"); }								} }}

2) 貨物管理系統2.0

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
typedef struct storage{int num;int price;char name[20];int quantity;struct storage *next;
}storage;
void add(storage *head){//輸入貨物信息printf("請選擇:1 接著上次輸入 2 新建輸入\n");int chose;scanf("%d",&chose);switch(chose){case 1:printf("請輸入文件名:\n");char filename1[20];scanf("%s",filename1);printf("結束輸入請輸入0 0 0 0\n");printf("貨物編號 貨物價格 貨物名稱 貨物數量\n");FILE *fp;fp=fopen(filename1,"a+");if(fp==NULL){printf("無法打開文件!");exit(0); } storage *p1,*p2;p1=p2=head;while(1){p1=(storage*)malloc(sizeof(storage));if(p1==NULL){printf("節點創建失敗!");exit(0); }else{scanf("%d %d %s %d",&p1->num,&p1->price,&p1->name,&p1->quantity);fprintf(fp,"%d %d %s %d\n",p1->num,p1->price,p1->name,p1->quantity);p2->next=p1;p2=p1;if(p1->num==0){break;}}}p2->next=NULL;fclose(fp);break;case 2:FILE *fn;printf("請輸入文件名:\n");char filename2[20];scanf("%s",filename2);fn=fopen(filename2,"w");printf("結束輸入請輸入0 0 0 0\n");printf("貨物編號 貨物價格 貨物名稱 貨物數量\n");if(fn==NULL){printf("無法打開文件!");exit(0); } storage *p3,*p4;p3=p4=head;while(1){p3=(storage*)malloc(sizeof(storage));if(p3==NULL){printf("節點創建失敗!");exit(0); }else{scanf("%d %d %s %d",&p3->num,&p3->price,&p3->name,&p3->quantity);fprintf(fn,"%d %d %s %d\n",p3->num,p3->price,p3->name,p3->quantity);p4->next=p3;p4=p3;if(p3->num==0){break;}}}p4->next=NULL;fclose(fn);break;
}
}
void amend(storage *head){//修改貨物信息 printf("請輸入要想修改的文件名稱:\n");char filename[20];scanf("%s",filename);int i,j,l;char k[20];FILE *fp,*ftn;fp=fopen(filename,"r");ftn=fopen("tmp.txt","w");if(fp==NULL||ftn==NULL){printf("無法打開文件!");exit(0); }printf("請輸入要修改的貨物編號:");int c;scanf("%d",&c);while(!feof(fp)){fscanf(fp,"%d %d %s %d\n",&i,&j,k,&l);if(i==c){printf("%d %d %s %d\n",i,j,k,l); printf("修改為:"); scanf("%d %d %s %d",&i,&j,k,&l);fprintf(ftn,"%d %d %s %d\n",i,j,k,l);continue;}fprintf(ftn,"%d %d %s %d\n",i,j,k,l);}fclose(fp);fclose(ftn);remove(filename);rename("tmp.txt",filename);
}
void search(storage *head){//查詢貨物信息 printf("請輸入要想修改的文件名稱:\n");char filename[20];scanf("%s",filename);int i,j,l;char k[20];FILE *fp;fp=fopen(filename,"r");printf("請輸入要查詢的貨物編號:");int d;scanf("%d",&d);  while(!feof(fp)){fscanf(fp,"%d %d %s %d\n",&i,&j,k,&l);if(i==d){printf("\n貨物編號 貨物價格 貨物名稱 貨物數量\n"); printf("%-10d %-10d %-10s %-10d\n",i,j,k,l);break;}}fclose(fp);
}
void deletestorage(storage *head){printf("請輸入要想修改的文件名稱:\n");char filename[20];scanf("%s",filename);storage *p3;int m,z,l;char k[20];FILE *fp;fp=fopen(filename,"r");while(!feof){fscanf(fp,"%d %d %s %d\n",&m,&z,k,&l);p3->num=m;p3->price=z;strcpy(p3->name,k);p3->quantity=l;p3=p3->next;} p3->next=NULL;printf("請輸入要刪除的貨物編號:");int b;scanf("%d",&b);storage *p1=head->next,*p2=head;while(p1!=NULL){if(p1->num==b){p2->next=p1->next;free(p1);break;}p2=p2->next;p1=p2->next;}storage *p4;p4=head->next;FILE *ftp;ftp=fopen(filename,"w");if(ftp==NULL){printf("無法打開文件!");exit(0); } while(p3->next!=NULL){fprintf(ftp,"%d %d %s %d\n",p4->num,p4->price,p4->name,p4->quantity);p4=p4->next;}fclose(ftp);
}
void paixu(storage *head){printf("請輸入要想修改的文件名稱:\n");char filename[20];scanf("%s",filename);storage *p3;int m,z,l;char k[20];FILE *fp;fp=fopen(filename,"r");while(!feof){fscanf(fp,"%d %d %s %d\n",&m,&z,k,&l);p3->num=m;p3->price=z;strcpy(p3->name,k);p3->quantity=l;p3=p3->next;} p3->next=NULL;fclose(fp);int n=0,i,j,t1,t2,t3;char t4[20];storage *p1,*p;p=head->next;while(p!=NULL){n++;p=p->next;}for(i=0;i<n-2;i++){p1=head->next;for(j=0;j<n-i-2;j++){if(p1->price>p1->next->price){t1=p1->num;p1->num=p1->next->num;p1->next->num=t1;t2=p1->price;p1->price=p1->next->price;p1->next->price=t2;t3=p1->quantity;p1->quantity=p1->next->quantity;p1->next->quantity=t3;strcpy(t4,p1->name);strcpy(p1->name,p1->next->name);strcpy(p1->next->name,t4);}p1=p1->next;}} p=head->next;printf("貨物編號 貨物價格 貨物名稱 貨物質量\n"); while(p->num!=0){printf("%-10d %-10d %-10s %-10d\n",p->num,p->price,p->name,p->quantity);p=p->next;}
} 
void print(storage *head){//顯示全部貨物信息 printf("請輸入要想修改的文件名稱:\n");char filename[20];scanf("%s",filename);int i,j,l;char k[20];FILE *fp;fp=fopen(filename,"r");if(fp==NULL){printf("無法打開文件!");exit(0); } printf("貨物編號 貨物價格 貨物名稱 貨物數量\n");while(fscanf(fp,"%d %d %s %d\n",&i,&j,k,&l)!=EOF){if(i==0)continue;printf("%-10d %-10d %-10s %-10d\n",i,j,k,l);}fclose(fp);
}
int main(){system("color 2F");storage *head;head=(storage*)malloc(sizeof(storage));if(head==NULL){printf("頭結點創建失敗!");exit(0); } head->next=NULL;char usename[10],password[7];while(1){system("date/t");system("time/t");printf("=================================================================\n");printf("\\\\                   歡迎使用倉庫貨物管理系統                //\n");printf("=================================================================\n");printf("||                                                             ||\n");printf("||                                                             ||\n");printf("||                          請輸入賬號密碼                     ||\n");printf("||                                                             ||\n");printf("||                                                             ||\n");printf("=================================================================\n");printf("賬號:");scanf("%s",usename);printf("密碼:");scanf("%s",password); if(strcmp("666", usename) == 0&&strcmp("666",password)==0){system("CLS");while(1){int a;system("date/t");system("time/t");printf("=================================================================\n");printf("\\\\                     歡迎使用倉庫貨物管理系統              //\n");printf("=================================================================\n");printf("||                      【1】輸入貨物信息                      ||\n");printf("||                      【2】修改貨物信息                      ||\n");printf("||                      【3】查詢貨物信息                      ||\n");printf("||                      【4】顯示全部貨物信息                  ||\n");printf("||                      【5】刪除貨物信息                      ||\n");printf("||                      【6】按價格排序                        ||\n");printf("||                      【0】退出系統                          ||\n");printf("=================================================================\n");printf("請選擇程序種類:"); scanf("%d",&a);switch(a){case 1:system("CLS");add(head);break;case 2:system("CLS");amend(head);break;case 3:system("CLS");search(head);break;case 4:system("CLS");print(head);break;case 5:system("CLS");deletestorage(head);break;case 6:system("CLS");paixu(head);break;case 0:system("CLS");printf("=============================================================\n");printf("||                                                          ||\n");printf("||                                                          ||\n");printf("||                         謝謝使用                         ||\n");printf("||                                                          ||\n");printf("||                                                          ||\n");printf("=============================================================\n");exit(0);default:printf("輸入有誤!");}}
}
else{printf("=============================================================\n");printf("||                                                          ||\n");printf("||                                                          ||\n");printf("||                  賬號或密碼輸入錯誤!                    ||\n");printf("||                  退出系統請輸入 0                        ||\n");printf("||                  重新輸入請輸入 1                        ||\n");printf("||                                                          ||\n");printf("||                                                          ||\n");printf("=============================================================\n");int a;scanf("%d",&a);system("CLS");if(a==0){printf("=============================================================\n");printf("||                                                           ||\n");printf("||                                                           ||\n");printf("||                         謝謝使用                          ||\n");printf("||                                                           ||\n");printf("||                                                           ||\n");printf("=============================================================\n");exit(0);} }
}return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531023.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531023.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531023.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IDEA連接mysql報Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' 的錯誤

IDEA布置好項目后&#xff0c;連接Mysql&#xff0c;提示時區錯誤&#xff0c;解決方案如下&#xff1a; 在mysql的命令模式下&#xff0c;輸入&#xff1a; set global time_zone8:00;如圖所示&#xff1a;

JDBC 提示:WARN: Establishing SSL connection without server's identity verification is not recommended.

Java連接Mysql數據庫的過程中出現了如下的警告信息: WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45, 5.6.26 and 5.7.6 requirements SSL connection must be established by default if explic…

C/C++課程設計 之學生管理系統(一)

文章目錄1) 案例一2) 案例二3) 案例三4) 案例四5) 案例五6) 案例六7) 案例七8) 案例八9) 案例九10&#xff09;案例十11&#xff09;案例十一12&#xff09;案例十二13&#xff09;案例十三14&#xff09;案例十四15&#xff09;案例十五&#xff08;一&#xff09; 新生基本信…

C語言小游戲 ——推箱子

文章目錄&#xff08;1&#xff09;內容描述&#xff08;2&#xff09;功能&#xff08;3&#xff09;設計目的&#xff08;4&#xff09;總體設計&#xff08;5&#xff09;明顯缺點&#xff08;6&#xff09;個人總結7. 實例實例一實例二實例三實例四實例五&#xff1a;&…

Java GUI 實現登錄界面

具體效果圖&#xff1a; 詳細代碼&#xff1a; package java_gui;import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Font; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;imp…

for-each循環的認識、定義、適用對象、舉例、局限性

文章目錄1. for-each的認識2. for-each的定義3. 哪些類型的對象可以適用For-Each&#xff1f;4. for-each的舉例5. for-each的局限性1. for-each的認識 &#xff08;1&#xff09;for-each語句是Java中for-Index的一種加強&#xff0c;是Java 5帶來的新語法糖。 &#xff08;2…

C語言 實現登錄注冊功能

文章目錄加載動畫實驗結果圖實驗代碼加載動畫 #include<iostream> #include<windows.h> using namespace std;int main(){cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;cout.widen(65);co…

C語言小游戲 ——俄羅斯方塊

#include<stdio.h> #include<stdlib.h> #include<windows.h>//Sleep()函數的頭文件 #include<time.h> #include<conio.h> #define MOD 28 #define SIZE_N 19//控制邊框的高度 #define SIZE_M 12 //控制邊框的寬度 int a[100]{200,30,20};/…

C/C++課程設計 之職工管理系統

文章目錄 (一) 題目內容及簡介(二) 概要設計(三) 詳細設計(四) 實現代碼(五) 相關案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十案例十一(一) 題目內容及簡介 1.課題來源 課題名稱和來源,主要介紹為何選擇此題目來開展課程設計,此課題的開展能體現面向…

C++ 知識要點

1.類與對象 類是事物的抽象。類的對象就是類的具體化&#xff0c;實際化 2.C三大特性 繼承、封裝、多態 3.C父類與子類繼承過程中&#xff0c;子類的特點&#xff1f; 子類擁有父類的所有屬性和行為 子類就是一種特殊的父類 子類對象可以當作父類對象使用 子類中可以添加父類…

C/C++小游戲 ——貪吃蛇

文章目錄案例一案例二案例三案例四案例五案例六案例七案例八案例九案例一 #include <stdio.h>#include <windows.h>#include <conio.h>#include <time.h>//游戲窗口#define FrameX 4//游戲窗口左上角的X軸坐標#define FrameY 4//游戲窗口左上角的Y軸坐…

C/C++課程設計 新生入學管理系統(二)

文章目錄 案例十六案例十七案例十八案例十九案例二十案例二十一案例二十二案例二十三案例二十四案例二十五案例二十六案例二十七案例二十八案例十六 #include<iostream> #include<cstring> //strcpy,strcmp #

Java類名.方法和變量

文章目錄(1) 類名.方法(2) 變量(1) 類名.方法 要是類名直接調用的方法&#xff0c;那這個方法就是靜態的(static)方法&#xff0c;是不用new出新對象實例就可以直接調用的方法。看下面例子&#xff1a; class A {public static void Method1(int a, int b) {//方法體}public …

Java小案例(二) 用數組實現增刪查改排序

文章目錄案例一案例二案例三案例四案例五案例一 Student.Java package curd;public class Student {private String stuid;private String name;private int chinese;private int math;private int english;private int avg;private int sum;public int getAvg() {return avg;…

有趣的一行代碼

文章目錄愛心曼德勃羅集合打印99乘法表實現快速排序禪語漫畫迷宮愛心 print(\n.join([.join([(????????????[(x-y)%12]if((x*0.05)**2(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<0 else )for x in range(-30,30)])for y in range(15,-15,-1)]))效果圖&#xff1…

Python練習之 對文件進行創建,然后重命名文件最近進行文件刪除

import os os.mkdir("D:\\1815925603") context ("序號&#xff1a;1815925603\n""姓名&#xff1a;阿信\n""班級&#xff1a;18云計算2班\n") with open (D:\\1815925603\\file1.txt,a) as fp:fp.write(context)fp.seek(0, 0) with …

Java接口中的成員變量為什么必須是static ?

接口的含義 接口就是提供一種統一的協議, 而接口中的屬性也屬于協議中的成員。它們是公共的,靜態的,最終的常量。相當于全局常量。 在interface里面的變量都是public static final 的。 public static final int i10;等價于int i10;(可以省略掉一部分) //注意在聲明的時候要…

Java函數式編程和面向對象編程

文章目錄什么是函數式編程&#xff1f;什么是面向對象編程&#xff1f;函數式編程和面向對象編程的優缺點什么是函數式編程&#xff1f; 函數式編程的核心&#xff1a;在思考問題時&#xff0c;使用不可變對象和函數&#xff0c;函數將一個值經過處理&#xff0c;映射成另一個…

JDBC實現圖書管理小案例

文章目錄項目文件結構項目運行效果項目詳細代碼項目文件下載相關案例案例一案例二案例三案例四案例五案例六案例七案例八項目文件結構 項目運行效果 項目詳細代碼 JDBCUtils.java package jdbc;import java.sql.*; import com.mysql.jdbc.Driver;public class JDBCUtils {pri…

Java實現多線程售票

文章目錄Synchronized和Lock的區別是什么&#xff1f;案例一方法一 繼承Thread類方法二 實現Runnable接口案例二方法一 繼承Thread類方法二 實現Runnable接口案例三方法一 繼承Thread類方法二 實現Runnable接口案例四方法一 繼承Thread類方法二 實現Runnable接口案例五方法一 繼…