欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實現(xiàn)簡單的信息管理系統(tǒng)

 更新時間:2016年04月15日 09:53:49   作者:仙桃李遠航  
這篇文章主要為大家介紹了C++實現(xiàn)簡單的信息管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享C++實現(xiàn)簡單的信息管理系統(tǒng),小編之前在學(xué)習(xí)的時候也要做一些管理系統(tǒng),在網(wǎng)上查了許多資料,現(xiàn)在我把資料分享給大家,希望能夠幫助到大家。

#include <stdio.h>
#include <stdlib.h>
#include "file.h"
 
 
 
void savaList(Node *head)/**把用戶錄入的數(shù)據(jù)存儲到文件里面去方便下次讀取*/
{
 FILE *fp=fopen("data\\data.txt" ,"w") ;
 Node *p ;
 for(p=head->next;p;p=p->next)
 {
   fwrite(&(p->data),sizeof(students),1,fp) ;
 }
 fclose(fp) ;
 
}
 
 
 
void duquLisr(Node *head)/**讀取用戶之前所錄入的數(shù)據(jù) */
{
 FILE *fp=fopen("data\\data.txt" ,"r") ;
 students e ;
  while( fread(&e,sizeof(students) ,1,fp ) )
  {
   insertList(head,e) ;
  }
  fclose(fp) ;
 
}
 
 
 
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "goods.h"
 
/**錄入數(shù)據(jù),函數(shù)目的返回一個goods類型的值*/  /**      char name[M] ;
                   char phone[M] ;
                   char street[M] ;
                   char city[M] ;
                   char youb[M] ; */
students lurushuju()
{
 students e ;
 
 
 printf("請輸入學(xué)生的姓名 ") ;
 scanf("%s",e.name);
 
 printf("請輸入學(xué)生的電話 ") ;
 scanf("%s",e.phone) ;
 
 printf("請輸入學(xué)生的街道 ") ;
 scanf("%s",e.street) ;
 
 printf("請輸入學(xué)生的城市信息 ") ;
 scanf("%s",e.city) ;
 
 printf("請輸入學(xué)生的郵編 ") ;
 scanf("%s",e.youb) ;
 
 
 return e ;
 
}
void shuchushuju(students e)/**依次輸出數(shù)據(jù)e*/
{
 printf("%15s%15s%15s%15s%15s\n" , e.name ,e.phone,e.street,e.city,e.youb) ;
 
}
void xiugaishuju(students *e)/**根據(jù)地址修改數(shù)據(jù)e里面的個別數(shù)據(jù)*/ /**通過選擇序號選擇想要修改的數(shù)據(jù)*/
{
 int score ;
 int count=1 ;
 printf("請輸入想要修改的數(shù)據(jù)類型\n") ;
 do
 {
 printf("1.姓名;2.電話;3.街道信息;4.城市信息;5.郵編;6.退出\n");
 scanf("%d",&score) ;
 switch(score)
 {
 case 1:
  scanf("%s",e->name);
  break ;
 case 2:
  scanf("%s",e->phone) ;
  break;
 case 3:
  scanf("%s",e->street) ;
  break ;
 case 4:
  scanf("%s",e->city) ;
  break ;
 case 5:
  scanf("%s",e->youb) ;
  break ;
 default:
  count=0;
 }
 }while(count);
 
}
 
 
 
 
#include <stdio.h>
#include <string.h>
#include "list.h"
#include "goods.h"
 
void creatList(Node *head,int n)/**創(chuàng)建一個長度為n的鏈表*/
{
 int i ;
 students p ;
 for(i=1; i<=n ; i++)
 {
  p=lurushuju() ;
  insertList(head,p) ;
 }
 
}
void insertList(Node *head,students e) /**把e中的某一個值以一定的順序插入到以head為頭節(jié)點的鏈表上面去*/
{
 Node *p;
 Node *q;
 q=(Node*)malloc(sizeof(Node));
 q->data=e;
 for(p=head; p->next && strcmp( (p->next)->data.name,e.name)<0 ;p=p->next ) ;
 q->next=p->next;
 p->next=q;
}
 
int delList(Node *head,char e[])/**把鏈表姓名為e的一項刪除,先找找到刪除成功就返回1,否者返回0*/
{
 Node *p;
 for(p=head; p->next && strcmp(e,p->next->data.name) ;p=p->next) ;
 if(p->next ==0)
 {
  return 0 ;
 }
 else
 {
  Node *t;
  t=p->next;
  p->next=t->next;
  free(t);
  return 1 ;
 }
 
}
 
 
Node *searchList(Node *head,char e[])/**在鏈表中查找名字這一項找到返回這個節(jié)點的地址 否者返回null*/
{
 Node *p;
 for(p=head; p && strcmp(e,p->data.name) ; p=p->next ) ;
 return p ;
}
 
 
void disputList(Node *head)/**依次順序輸出head鏈表*/
{
 Node *p;
 for(p=head->next;p;p=p->next)
 shuchushuju(p->data);
 
 
}
 
void changeList(Node *head ,char e[]) /**修改鏈表中某一個節(jié)點的data值*/ /**該系統(tǒng)只能通過姓名查找 后續(xù)在完善*/
{
 Node *p ;
 p=searchList(head,e) ;
 if(!p)
 {
  printf("error\n");
 }
 else
 {
  xiugaishuju(&(p->data)) ;
 
 }
 
}
void destroy(Node *head)
{
 Node *p;
 for(p=head;p;p=p->next)
  free(p);
}
 
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "list.h"
#include "goods.h"
 
void mainmenu(Node *head)
{
 int scored ;
 int count=1 ;
 char e[100] ;
 int n;
 students p;
 do
 {
 printf("================****學(xué)生信息管理系統(tǒng)(公測版by李遠航)****=====\n") ;
 printf("==========================開始===============================\n");
 printf("==1.錄入數(shù)據(jù) 2.修改數(shù)據(jù) 3.顯示數(shù)據(jù) 4.刪除數(shù)據(jù) 5.插入數(shù)據(jù)=\n") ;
 printf("=======7.讀取數(shù)據(jù)========6.存盤退出=======8.退出=============\n") ;
 printf("=======================**********============================\n") ;
  printf("請輸入你想要做的事\n") ;
  scanf("%d",&scored);
 switch(scored)
 {
 case 1:
  printf("請輸入你大約想保存的學(xué)生\n");
  scanf("%d",&n);
  creatList(head,n);
  break ;
 case 2:
  printf("請輸入待改學(xué)生的姓名\n") ;
  scanf("%s",e);
  changeList(head , e) ;
  break ;
 case 3:
  printf("   姓名   電話  街道信息   城市信息  郵件信息 \n") ;
  disputList(head) ;
  break ;
 case 4:
  printf("請輸入待刪學(xué)生的姓名\n");
  scanf("%s",e);
  n=delList(head, e) ;
  if(n)
  {
   printf("刪除成功\n");
  }
  else
  {
   printf("error\n") ;
  }
  break ;
 case 5:
  printf("請輸入你想插入的信息\n");
  p=lurushuju();
  insertList(head, p);
  break ;
 case 6:
  savaList(head);
  count=0;
  break ;
 case 7:
  duquLisr(head);
  break ;
 default :
  count=0;
 }
 system("pause") ;
 system("cls") ;
 
 }while(count);
 printf("\n\n\n\n感謝您對本系統(tǒng)的支持,如果您在使用過程中遇到bug,請發(fā)送郵件到1277171561@qq.com\n\n\n\n\n\n\n") ;
 
 
}
 
 
 
int main()
{
 Node *head=(Node*)malloc(sizeof(Node));
 head->next=NULL ;
 mainmenu(head) ;
 destroy(head) ;
 return 0;
}
 
 
#ifndef FILE_H_INCLUDED
#define FILE_H_INCLUDED
#include "list.h"
 
void savaList(Node *head);/**把用戶錄入的數(shù)據(jù)存儲到文件里面去方便下次讀取*/
void duquLisr(Node *head);/**讀取用戶之前所錄入的數(shù)據(jù) */
 
 
 
#endif // FILE_H_INCLUDED
 
 
 
#ifndef GOODS_H_INCLUDED
#define GOODS_H_INCLUDED
 
typedef struct students /*定義學(xué)生信息*/
{
 char name[100] ;
 char phone[100] ;
 char street[100] ;
 char city[100] ;
 char youb[100] ;
 
}students;
 
students lurushuju();/**錄入數(shù)據(jù),函數(shù)目的返回一個goods類型的值*/
void shuchushuju(students e);/**依次輸出數(shù)據(jù)e*/
void xiugaishuju(students *e);/**根據(jù)地址修改數(shù)據(jù)e里面的個別數(shù)據(jù)*/
 
 
 
 
 
#endif // GOODS_H_INCLUDED
 
 
 
 
#ifndef LIST_H_INCLUDED
#define LIST_H_INCLUDED
#include "goods.h"
 
typedef struct Node /**鏈表結(jié)構(gòu)體*/
{
 students data ;
 struct Node *next ;
}Node ;
 
void creatList(Node *head,int n);/**創(chuàng)建一個長度為n的鏈表*/
void insertList(Node *head,students e) ;/**把e中的某一個值以一定的順序插入到以head為頭節(jié)點的鏈表上面去*/
int delList(Node *head,char e[]) ;/**把鏈表姓名為e的一項刪除,先找找到刪除成功就返回1,否者返回0*/
Node *searchList(Node *head,char e[]) ; /**在鏈表中查找名字這一項*/
void disputList(Node *head);/**依次順序輸出head鏈表*/
void changeList(Node *head ,char e[]) ;/**修改鏈表中某一個節(jié)點的data值 */
void destroy(Node *head) ;/**摧毀一起鏈表數(shù)據(jù)*/
 
 
 
 
 
#endif // LIST_H_INCLUDED

以上就是C++信息管理系統(tǒng)的關(guān)鍵代碼,供大家參考,下面再為大家分享一些其他管理系統(tǒng):

C++實現(xiàn)簡單的圖書管理系統(tǒng)

C++實現(xiàn)簡單的職工信息管理系統(tǒng)

C++基礎(chǔ)學(xué)生管理系統(tǒng)

更多學(xué)習(xí)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • C語言 表、棧和隊列詳解及實例代碼

    C語言 表、棧和隊列詳解及實例代碼

    這篇文章主要介紹了C語言 表、棧和隊列詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • C語言實現(xiàn)快速排序

    C語言實現(xiàn)快速排序

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)快速排序算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 淺析順序結(jié)構(gòu)存儲的棧

    淺析順序結(jié)構(gòu)存儲的棧

    這篇文章主要介紹了順序結(jié)構(gòu)存儲的棧,有需要的朋友可以參考一下
    2014-01-01
  • C++:構(gòu)造函數(shù),析構(gòu)函數(shù)詳解

    C++:構(gòu)造函數(shù),析構(gòu)函數(shù)詳解

    今天小編就為大家分享一篇關(guān)于C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2021-09-09
  • Qt編寫地圖之實現(xiàn)經(jīng)緯度坐標糾偏

    Qt編寫地圖之實現(xiàn)經(jīng)緯度坐標糾偏

    地圖應(yīng)用中都涉及到一個問題就是坐標糾偏的問題,這個問題的是因為根據(jù)地方規(guī)則保密性要求不允許地圖廠商使用標準的GPS坐標,而是要用國家定義的偏移標準。本文將詳細講解如何在Qt中實現(xiàn)經(jīng)緯度坐標糾偏,需要的可以參考一下
    2022-03-03
  • 解讀堆排序算法及用C++實現(xiàn)基于最大堆的堆排序示例

    解讀堆排序算法及用C++實現(xiàn)基于最大堆的堆排序示例

    把待排序的數(shù)組構(gòu)造出最大堆是進行堆排序操作的基本方法,這里將帶大家來解讀堆排序算法及用C++實現(xiàn)基于最大堆的堆排序示例,首先從堆排序的概念開始:
    2016-06-06
  • C++根據(jù)傳入的函數(shù)指針來解析需要的參數(shù)(推薦)

    C++根據(jù)傳入的函數(shù)指針來解析需要的參數(shù)(推薦)

    C++可以根據(jù)傳入的函數(shù)指針,獲取自己需要的參數(shù)類型,然后根據(jù)參數(shù)源中獲取需要的參數(shù),具體實現(xiàn)方式大家參考下本文
    2018-05-05
  • C語言實現(xiàn)簡單推箱子游戲

    C語言實現(xiàn)簡單推箱子游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單推箱子游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 深入理解C語言中使用頻率較高的指針與數(shù)組

    深入理解C語言中使用頻率較高的指針與數(shù)組

    在C語言中要說到哪一部分最難搞,首當其沖就是指針,指針永遠是個讓人又愛又恨的東西,用好了可以事半功倍,用不好就會有改不完的bug和通不完的宵,下面這篇文章主要給大家介紹了關(guān)于C語言中使用頻率較高的指針與數(shù)組的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • C++中四種加密算法之AES源代碼

    C++中四種加密算法之AES源代碼

    本篇文章主要介紹了C++中四種加密算法之AES源代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。
    2016-11-11

最新評論