c++个人财务管理系统(五篇模版)

时间:2019-05-14 06:44:14下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《c++个人财务管理系统》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《c++个人财务管理系统》。

第一篇:c++个人财务管理系统

个人财务管理系统

//mynumber.h #include #include #include #include #include using namespace std;struct record {string time;string operate;int money;};struct code {

string password;stringacnumber;string person1;string person2;};const record mark={“notimen”,“non”,0};class account {public: struct record A;struct code B;intcheckacnumber();intcheckpassword();voidoldrecord(const char *filetxt);void inquire(const char *filetxt);void del(const char *filetxt);void increase(const char *filetxt);voidCreateTxt(const char *filetxt);voidprintall(const char *filetxt);voidprintincome(const char *filetxt);voidprintpay(const char *filetxt);voidModifynumber();voidCreateDat();void Initial(const char *filetxt);intendmark(record A);intfindback();voidrecyclebin(const char *filetxt);};//main.cpp #include“mynumber.h” const char *file=“E:RecordFile.txt”;int main(){cout<<“

欢迎使用个人财务管理系统n”;cout<<“-----------n”;cout<<“|

|n”;cout<<“|

1.登陆

|n”;cout<<“|

2.注册

|n”;cout<<“|

cout<<”-----------n“;intn,k,t;cin>>n;account X;if(n==2){X.CreateDat();n=1;} if(n==1)

{k=X.checkacnumber();if(k==0)exit(0);else {t=X.checkpassword();if(t==0)exit(0);else while(1){cout<<”-----------请选择您要进行的操作-----------n“;cout<<”|

cout<<“|

0.退出系统

cout<<”|

1.查找记录

cout<<“|

2.增加记录

cout<<”|

3.删除记录

cout<<“|

4.输出所有记录

cout<<”|

5.输出所有收入记录

cout<<“|

6.输出所有支出记录

cout<<”|

7.修改密码

cout<<“|

8.初始化记录

cout<<”|

9.回收站

char choice;cin>>choice;switch(choice){case'0':cout<<“感谢您使用本系统!n”;exit(0);case'1':X.inquire(file);break;case'2':X.increase(file);break;case'3':X.del(file);break;case'4':X.printall(file);break;case'5':X.printincome(file);break;

|n“;|n”;

|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;case'6':X.printpay(file);break;case'7':X.Modifynumber();break;case'8':X.Initial(file);break;case'9':X.recyclebin(file);break;} cout<

//check-acnumber.cpp #include“mynumber.h” int account::checkacnumber(){stringa;int j=3;ifstreamfdat(“E:accountFile.dat”,ios::in);cout<<“请输入您的账号: ”;while(j--){cin>>a;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));if(a==B.acnumber){fdat.close();return 1;} else cout<<“此账号不存在,请重新输入!n”;} cout<<“n您的账号已输错三次!请退出系统!n”;fdat.close();return 0;}

//check-password.cpp #include“mynumber.h” int account::checkpassword(){ifstreamfdat(“E:accountFile.dat”,ios::in);strings;int j=3,x;cout<<“请输入密码:”;while(j--){cin>>s;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));if(s==B.password){fdat.close();return 1;} else cout<<“密码错误,请重新输入!n”;} cout<<“n您输入的密码已错误三次,请问想找回密码吗?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){x=account::findback();if(x==1)return 1;else return 0;} else {cout<<“感谢您使用本系统,再见!n”;return 0;} }

//CreateDat.cpp #include“mynumber.h” void account::CreateDat(){codeB;stringa,b;account::oldrecord(“E:RecordFile.txt”);fstream temp(“E:lalala.txt”,ios::out|ios::binary);fstream rub(“E:RecycleBin.txt”,ios::out|ios::binary);temp.seekp(0,ios::beg);temp.write((char*)&mark,sizeof(record));rub.seekp(0,ios::beg);rub.write((char*)&mark,sizeof(record));while(1){cout<<“请输入您要注册的账号:”;cin>>B.acnumber;cout<>B.password;cout<>b;cout<>a;cout<

{

cout<<“为了便于验证身份,请您填写以下信息作为验证方式n”;cout<<“自己身高多少:”;cin>>B.person1;cout<<“自己颜值多高:”;cin>>B.person2;cout<<“(自己身高多少:”<

”<<“(自己颜值多高:”<

{stringE;int n=0;char answer;cout<<“请输入您要删除的日期:”;cin>>E;fdat.seekg(0,ios::beg);do {fdat.read((char*)&A,sizeof(record));if(E==A.time){n++;cout<<“(”<

{ cout<<“没有该日期的记录!n”<<“您还要继续删除记录吗?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout<>answer;if(answer=='Y'||answer=='y'){ fdat.seekg(0,ios::beg);ftxt.seekp(0,ios::beg);rub.seekg(0,ios::beg);do

{rub.read((char*)&A,sizeof(record));

}while(!endmark(A));

rub.seekp(-long(sizeof(record)),ios::cur);do

{fdat.read((char*)&A,sizeof(record));

if(A.time!=E&&!endmark(A)){ftxt.write((char*)&A,sizeof(record));}

if(A.time==E&&!endmark(A)){rub.write((char*)&A,sizeof(record));}

}while(!endmark(A));ftxt.write((char*)&mark,sizeof(record));rub.write((char*)&mark,sizeof(record));fdat.seekp(0,ios::beg);ftxt.seekg(0,ios::beg);do

{ftxt.read((char*)&A,sizeof(record));

if(!endmark(A))

fdat.write((char*)&A,sizeof(record));

}while(!endmark(A));

fdat.write((char*)&mark,sizeof(record));cout<<“成功删除记录!n”;cout<<“您是否还要继续删除日期记录?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout<

//findback.cpp #include“mynumber.h” int account::findback(){fstreamfdat(“E:accountFile.dat”,ios::in|ios::out|ios::binary);fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));stringa,b,c,d;cout<<“自己身高多少:”;cin>>a;if(a!=B.person1){cout<<“n验证错误!请退出系统!n”;return 0;} else {cout<<“自己颜值多高:”;cin>>b;if(b!=B.person2){cout<<“n验证错误!请退出系统!n”;return 0;} else {cout<<“n验证成功!请修改您的密码!n”;account::Modifynumber();fdat.close();return 1;} } }

//increase.cpp #include“mynumber.h” void account::increase(const char* filetxt){

fstreamfdat(filetxt,ios::in|ios::out|ios::binary);while(1){

record D;

cout<<“请输入您要添加的日期:”;

cin>>D.time;

cout<<“请输入所添加日期的操作:”;

cin>>D.operate;

cout<<“请输入所添加日期的支出或收入:”;

cin>>D.money;

cout.setf(ios::showpos);

cout<<“(”<

cout<<“n是否确定将该日期记录进行保存?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){fdat.seekg(0,ios::beg);

do

{fdat.read((char*)&A,sizeof(record));

}while(!endmark(A));

fdat.seekp(-long(sizeof(record)),ios::cur);

fdat.write((char*)&D,sizeof(record));

fdat.write((char*)&mark,sizeof(record));

cout<<“n您是否还要继续添加日期记录?(Y/N)n”;

cin>>answer;

if(answer=='Y'||answer=='y'){cout<

else {cout<<“记录保存成功!n”;fdat.close();break;} }else {cout<<“取消操作!n”;cout<<“您还要进行日期记录添加的操作吗?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y')continue;else {fdat.close();break;} } } }

//Initial.cpp #include“mynumber.h” externconst record mark;void account::Initial(const char *filetxt){fstreamfdat(filetxt,ios::out|ios::binary);cout<<“若账目文件存在,将删除所有数据,要进行文件初始化吗?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){fdat.seekp(0,ios::beg);fdat.write((char*)&mark,sizeof(record));cout<<“文件已经初始化。n”;} else cout<<“取消操作n”;fdat.close();}

//inquire.cpp #include“mynumber.h” void account::inquire(const char* filetxt){cout<<“请输入您要查询的日期:”;string date;int sum=0,income=0,pay=0,n=0;cin>>date;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do {ftxt.read((char*)&A,sizeof(record));if(date==A.time&&!endmark(A)){n++;if(n==1)cout<<“Time

operate

moneyn”;cout<

”<

”<//Modifynumber.cpp #include“mynumber.h” void account::Modifynumber(){stringa,b;while(1){ cout<<“请输入您要更改的新密码:”;cin>>a;cout<>b;if(a==b){cout<

//oldrecord.cpp #include“mynumber.h” externconst record mark;void account::oldrecord(const char *filetxt){record a[20];record A;a[0].time=“15-03-20”;a[0].operate=“in”;a[0].money=+10;a[1].time=“14-05-20”;a[1].operate=“out”;a[1].money=-20;a[2].time=“14-06-21”;a[2].operate=“out”;

a[2].money=-35;a[3].time=“14-05-21”;a[3].operate=“out”;a[3].money=-40;a[4].time=“15-05-22”;a[4].operate=“in”;a[4].money=+100;a[5].time=“15-05-25”;a[5].operate=“out”;a[5].money=-25;a[6].time=“15-05-26”;a[6].operate=“out”;a[6].money=-15;a[7].time=“14-11-26”;a[7].operate=“out”;a[7].money=-70;a[8].time=“15-03-26”;a[8].operate=“in”;a[8].money=+100;a[9].time=“15-02-27”;a[9].operate=“out”;a[9].money=-40;a[10].time=“15-05-28”;a[10].operate=“in”;a[10].money=+100;a[11].time=“15-05-28”;a[11].operate=“out”;a[11].money=-20;a[12].time=“15-04-28”;a[12].operate=“out”;a[12].money=-10;a[13].time=“15-05-29”;a[13].operate=“in”;a[13].money=+88;a[14].time=“15-05-30”;a[14].operate=“out”;a[14].money=-61;a[15].time=“15-06-01”;a[15].operate=“out”;a[15].money=-18;a[16].time=“15-06-04”;a[16].operate=“out”;a[16].money=-23;a[17].time=“15-06-05”;a[17].operate=“in”;a[17].money=+11;a[18].time=“15-06-03”;a[18].operate=“out”;a[18].money=-52;a[19].time=“15-06-08”;a[19].operate=“in”;a[19].money=+50;fstream file(filetxt,ios::out|ios::binary);file.seekp(0,ios::beg);for(inti=0;i<20;i++){file.write((char*)&a[i],sizeof(record));} file.write((char*)&mark,sizeof(record));file.close();}

//PrintAll.cpp #include“mynumber.h” void account::printall(const char* filetxt){ int sum=0,income=0,pay=0,i=0,t;record q[100];strings,x;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do { ftxt.read((char*)&A,sizeof(record));if(!endmark(A)){q[i].time=A.time;q[i].operate=A.operate;q[i].money=A.money;i++;if(A.operate==“in”){sum=sum+A.money;income=income+A.money;} else {sum=sum+A.money;pay=pay+A.money;}} }while(!endmark(A));if(i>1)

{for(int k=0;kq[j].time)

{s=q[j].time;q[j].time=q[k].time;q[k].time=s;

x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x;

t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout<<“Time

operate

moneyn”;for(int k=0;k

”<

”<

”<

”<operate

moneyn“;cout<

“<

“<1){for(int k=0;kq[j].time)

{s=q[j].time;q[j].time=q[k].time;q[k].time=s;

x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x;

t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout<<”Time

operate

moneyn“;cout.setf(ios::showpos);for(int k=0;k

“<

“<

operate

moneyn“;cout<

“<

“<

//printpay.cpp #include”mynumber.h“ void account::printpay(const char* filetxt){ int sum=0,n=0,i=0,t;record q[100];string s,x;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do { ftxt.read((char*)&A,sizeof(record));if(!endmark(A)&&A.operate==”out“){n++;q[i].time=A.time;q[i].operate=A.operate;q[i].money=A.money;i++;sum=sum+A.money;} }while(!endmark(A));if(i>1){for(int k=0;kq[j].time)

{s=q[j].time;q[j].time=q[k].time;q[k].time=s;

x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x;

t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout<<”Time

operate

moneyn“;for(int k=0;k

“<

“<

operate

moneyn“;if(q[0].money)cout<

“<

“<

//RecycleBin.cpp #include”mynumber.h“ void account::recyclebin(const char* filetxt){fstream rub(”E:RecycleBin.txt“,ios::in|ios::out|ios::binary);fstreamfdat(filetxt,ios::in|ios::out|ios::binary);fstreamftxt(”E:lalala.txt“,ios::in|ios::out|ios::binary);string s;cout<<”n

请选择您要进行的操作n“;cout<<”|-----------------------------|n“;cout<<”|------1.找回误删日期记录-----|n“;cout<<”|------2.清空回收站-----------|n“;cout<<”|------3.取消操作-------------|n“;cout<<”|-----------------------------|n“;string x;cin>>x;if(x==”1“){rub.seekg(0,ios::beg);rub.read((char*)&A,sizeof(record));if(endmark(A)){cout<<”您还未删除过日期或者回收站已经清空!n“;} else while(1){int n=0;cout<<”n回收站的日期记录如下:n“;account::printall(”E:RecycleBin.txt“);cout<<”请输入您要回收的日期:“;cin>>s;rub.seekg(0,ios::beg);do {rub.read((char*)&A,sizeof(record));if(s==A.time&&!endmark(A)){n++;break;} }while(!endmark(A));if(n==0)

{cout<<”n回收站无该日期记录!n“;cout<<”您确定要找回误删的日期记录吗?(Y/N)n“;char answer;cin>>answer;if(answer=='Y'||answer=='y')continue;else {cout<<”已取消操作n“;break;}} else {fdat.seekg(0,ios::beg);do {fdat.read((char*)&A,sizeof(record));}while(!endmark(A));fdat.seekp(-long(sizeof(record)),ios::cur);rub.seekg(0,ios::beg);do {rub.read((char*)&A,sizeof(record));;if(s==A.time&&!endmark(A)){fdat.write((char*)&A,sizeof(record));} }while(!endmark(A));rub.seekg(0,ios::beg);ftxt.seekp(0,ios::beg);do {rub.read((char*)&A,sizeof(record));if(A.time!=s&&!endmark(A)){ftxt.write((char*)&A,sizeof(record));} }while(!endmark(A));ftxt.write((char*)&mark,sizeof(record));rub.seekp(0,ios::beg);ftxt.seekg(0,ios::beg);do {ftxt.read((char*)&A,sizeof(record));if(!endmark(A))rub.write((char*)&A,sizeof(record));}while(!endmark(A));rub.write((char*)&mark,sizeof(record));rub.close();fdat.close();ftxt.close();cout<<”回收成功!n“;break;} } } else if(x==”2“){char answer;cin>>answer;cout<<”您确定要清空回收站?(Y/N)n“;if(answer=='Y'||answer=='y'){rub.clear();rub.seekp(0,ios::beg);rub.write((char*)&mark,sizeof(record));rub.close();cout<<”回收站清空成功!n“;} else cout<<”已取消操作n“;} else if(x==”2“)cout<<”取消操作成功!n“;else cout<<”没有此选项!n“;}

//endmark.cpp #include”mynumber.h" int account::endmark(record A){if(A.money==0)return 1;return 0;}

第二篇:个人财务管理系统

//引入包

import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;import java.text.DateFormat;import java.text.SimpleDateFormat;import org.apache.log4j.*;import java.util.Calendar;import java.util.Vector;import javax.swing.*;import javax.swing.table.DefaultTableModel;

public class MainTest extends JFrame{

public static final long serialVersionUID = 1l;Vector v=new Vector();private JButton jb1,jb2,jb3,jb4,jb5,jtf3Listener;//按钮 private JScrollPane jsp;//滚动条 private JPanel jp1,jp2,jp3,jp4,jp5,jp6,jserver,jtable;//控件面板

private JLabel jl1,jl2,jl3,jl4,jl5;//标签 private JMenu jm1,jm2;//菜单 private JMenuItem ji1,ji2;//菜单子项 //表格

BankCard bc=new BankCard();//新建类BankCard boolean flag=false;private String version=“V1.5”;private JTextField jtf,jtf2,jtf3,jtf4,jtf5;//文本框

private JMenuBar jmb1;//菜单栏

DefaultTableModel model = new DefaultTableModel();String[] columnNames={“姓名”,“金额”,“日期”,“备注”};//创建日志记录器

private static Logger logger=Logger.getLogger(MainTest.class.getName());

//主程序入口

public static void main(String[] args){ new MainTest();

//窗口初始化

public MainTest(){ }

//窗口初始化

this.setTitle(“个人财务管理系统”+version+“(内测版By ZQ)”);this.setSize(800,300);this.setLocation(450, 300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);GridLayout Grid=new GridLayout(1,2);this.setLayout(Grid);this.setResizable(true);

jserver=new JPanel(new GridLayout(7,1));jtable=new JPanel(Grid);

//菜单栏构建

jmb1=new JMenuBar();jm1=new JMenu();jm1.setText(“帮助”);jm2=new JMenu();jm2.setText(“文件”);ji1=new JMenuItem();ji1.setText(“软件须知”);ji1.addActionListener(new MyBtnListener());ji2=new JMenuItem();ji2.setText(“退出”);ji2.addActionListener(new MyBtnListener());jb4=new JButton(“连接”);jb4.addActionListener(new MyBtnListener());jb5=new JButton(“断开”);jb5.addActionListener(new MyBtnListener());jm1.add(ji1);jm2.add(ji2);jmb1.add(jm2);jmb1.add(jm1);jmb1.add(jb4);jmb1.add(jb5);jserver.add(jmb1);

//信息录入框(Label+Message)jp1=new JPanel();jl1=new JLabel(“姓 名:”);jtf=new JTextField(20);jp1.add(jl1);jp1.add(jtf);jserver.add(jp1);

jp2=new JPanel();jl2=new JLabel(“金 额:”);jtf2=new JTextField(20);jp2.add(jl2);jp2.add(jtf2);jserver.add(jp2);

jp3=new JPanel();jl3=new JLabel(“日 期:”);jtf3=new JTextField(14);jtf3Listener=new JButton(“选择”);jtf3Listener.addActionListener(new MyBtnListener());jp3.add(jl3);jp3.add(jtf3);jp3.add(jtf3Listener);jserver.add(jp3);

jp4=new JPanel();jl4=new JLabel(“备 注:”);jtf4=new JTextField(20);jp4.add(jl4);jp4.add(jtf4);jserver.add(jp4);

//服务器连接按钮

jp5=new JPanel();jl5=new JLabel(“服务器:”);jtf5=new JTextField(20);jtf5.setText(“localhost:1433”);jp5.add(jl5);jp5.add(jtf5);jserver.add(jp5);//信息检索 jp6=new JPanel();

jb1=new JButton(“添加”);/* * URL url=MainTest.class.getResource(“20***7527_easyicon_net_128.png”);

Icon icon=new ImageIcon(url);jb1.setIcon(icon);*/ jb1.addActionListener(new MyBtnListener());jb2=new JButton(“查询”);jb2.addActionListener(new MyBtnListener());jb3=new JButton(“余额”);

jb3.addActionListener(new MyBtnListener());jp6.add(jb1);jp6.add(jb2);jp6.add(jb3);jserver.add(jp6);

//创建表格------model.setColumnIdentifiers(columnNames);JTable jt1 = new JTable(null, columnNames);

jt1=new JTable(model);model.addRow(new String[]{“",”“,”“,”“});jt1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);jt1.setFillsViewportHeight(true);jsp=new JScrollPane(jt1);jtable.add(jsp);

this.add(jserver);this.add(jtable);this.setVisible(true);}

public void TableValue(String[] s){ model.addRow(s);} public class BankCard { private int message = 0;String Name=”“;String sql=”“;Date Date=null;int Money;int i=0;Connection conn=null;Statement stmt=null;ResultSet rs=null;PreparedStatement pstmt = null;ResultSetMetaData rsmd = null;Object ss=null;

public int Save(Person p){ //数据存储 try{

int sum=getSum();if(p.Money<0&&(-p.Money)>sum){

message=0;}else{ stmt = conn.createStatement();

sql= ”insert into BankCard(Name,Money,Date,Message)“ +

”values('“+p.Name+”',“+p.Money+”,'“+p.Date+”','“+p.Message+”')“;stmt.execute(sql);System.out.println(p);System.out.println();

System.out.println(”添加成功!“);message=1;} }catch(SQLException e3){logger.error(e3);} return message;} /* public void getMessage(String name,String date){ //检索对象信息

Person p=new Person();

} System.out.println();System.out.println(”---------------检索结 try{

sql=“Select * from BankCard Where Name=”+“'”+name+“' and

pstmt = conn.prepareStatement(sql.toString());

rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){

p.Name=rs.getString(”Name“);p.Date=rs.getString(”Date“);p.Message=rs.getString(”Message“);p.Money=rs.getInt(”Money“);Date=”+“'”+date+“'”;束!---------------“);

}catch(SQLException e3){logger.error(e3);} }*/ public void getMessage(String Message,int idea){ //检索对象信息

Person p=new Person();model.setRowCount(0);

try{

if(Message!=”null“ && idea==1){ //输入null查询所有数据

sql=”Select * from BankCard Where

}else if(Message!=“null” && idea==2){

sql=“Select * from BankCard Where Name=”+“'”+Message+“'”;sql=“Select * from BankCard”;

}else {

}

pstmt = conn.prepareStatement(sql.toString());rs = pstmt.executeQuery();rsmd = rs.getMetaData();Date=“+”'“+Message+”'“;

if(rs.next()==false){JOptionPane.showMessageDialog(getContentPane(),”没有记录,请确认信息是否正确“,”警告!“,JOptionPane.WARNING_MESSAGE);}

do{

p.Name=rs.getString(”Name“);p.Date=rs.getString(”Date“);p.Message=rs.getString(”Message“);p.Money=rs.getInt(”Money“);model.addRow(new System.out.println(p);}while(rs.next());String[]{p.Name,String.valueOf(p.Money),p.Date,p.Message});System.out.println();System.out.println(”---------------检索结束!---------------“);

}catch(SQLException e3){logger.error(e3);} } public int getSum(){ //获取余额

sql=”Select * from BankCard“;rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){ Sum+=rs.getInt(”Money“);} }catch(SQLException e3){logger.error(e3);} pstmt = conn.prepareStatement(sql.toString());int Sum = 0;try{ System.out.println();return Sum;} public int getDay(){ //获取当月天数

Calendar aCalendar=Calendar.getInstance();int Day=aCalendar.get(Calendar.DATE);return Day;} public void Advise(){ //友情提示入口

int Sum = 0;

int Sum1= 0;int Day=getDay();try{ sql=”Select * from BankCard“;rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){

Sum1+=rs.getInt(”Money“);

if(rs.getInt(”Money“)<0)Sum+=rs.getInt(”Money“);} }catch(SQLException e3){logger.error(e3);} if(Day==10 || Day==20 || Day==30 ||(-Sum)>Sum1){ pstmt = conn.prepareStatement(sql.toString());JOptionPane.showMessageDialog(null,”友情提示,截至本月“+Day+”日您已花费:“+(-Sum)+”元----“+”当前余额:“+Sum1+”元“,”警告!“,JOptionPane.WARNING_MESSAGE);}

public boolean testJDBC(String testJDBC){ //建立服务器连接 boolean flag=true;

//[2]建立连接 try{ String sql=”jdbc:sqlserver://“+testJDBC+”;DataBaseName=MoneyManager“;conn=DriverManager.getConnection(sql,”Welcome“,”zhang1298“);

//conn=DriverManager.getConnection(”jdbc:sqlserver://localhost:1433;DataBaseName=MoneyManager“,”sa“,”zhang1298“);System.out.println(”----——--------建立连接成功!------------“);try{ //[1]加载驱动

Class.forName(”com.microsoft.sqlserver.jdbc.SQLServerDriver“);} }catch(ClassNotFoundException e1){logger.error(e1);} System.out.println();Advise();}catch(SQLException e){logger.error(e);flag=false;} return flag;} public boolean ExitJDBC(){ //断开服务器连接

boolean flag=true;

}

public class FrameChange implements Runnable {

public void run(){ int x = MainTest.this.getX();try{

//关闭数据连接

if(null!= stmt){ stmt.close();} if(null!= conn){conn.close();} System.out.println(”-------------数据库关闭成功!-----------“);System.out.println();}catch(SQLException e2){logger.equals(e2);flag=false;} return flag;}

int y = MainTest.this.getY();

for(int i = 0;i <50;i++){

if((i & 1)== 0){

x += 3;

y += 3;

} else {

x-= 3;

y-= 3;

}

MainTest.this.setLocation(x, y);

try {

}

} Thread.sleep(5);// TODO Auto-generated catch block e.printStackTrace();} catch(InterruptedException e){ } }

//添加信息

if(arg0.getSource()==jb1){

public void actionPerformed(ActionEvent arg0){ try{ //按钮监听器

class MyBtnListener implements ActionListener{ if(jtf.getText().length()!=0&&jtf3.getText().length()!=0&&jtf2.getText().length()!=0){

Person p=new Person();p.Name=jtf.getText();

p.Money=Integer.parseInt(jtf2.getText());p.Date=jtf3.getText();p.Message=jtf4.getText();int

n=JOptionPane.showConfirmDialog(getContentPane(),”请确认信息,一旦添加无法更改“,”信息确认!“,JOptionPane.YES_NO_CANCEL_OPTION);

if(n==JOptionPane.YES_OPTION){

int message=bc.Save(p);if(message==0){

JOptionPane.showMessageDialog(getContentPane(),”当前余额:“+bc.getSum()+”元,小于您的取款要求:“+-p.Money+”元,请检查信息是否错误!“,”警告!“,JOptionPane.WARNING_MESSAGE);

jtf2.setText(”“);

}else if(message==1){

jtf.setText(”“);

jtf2.setText(”“);

jtf3.setText(”“);

jtf4.setText(”“);

}

} }else{

new FrameChange().run();

JOptionPane.showMessageDialog(getContentPane(),”请输入完整信息“,”警告!“,JOptionPane.WARNING_MESSAGE);

}

//查询信息 }else if(arg0.getSource()==jb2){

if(jtf.getText().length()==0 && jtf3.getText().length()==0){ //查询所有

bc.getMessage(”null“,0);

}else if(jtf.getText().length()==0&&jtf3.getText().length()!=0){ //按日期查询

bc.getMessage(jtf3.getText().toString(),1);

}else if(jtf.getText().length()!=0&&jtf3.getText().length()==0){ //按人名查询

bc.getMessage(jtf.getText().toString(),2);}

/*else if(jtf.getText().length()!=0&&jtf3.getText().length()!=0){ //按日期,人名查询

bc.getMessage(jtf.getText(), jtf3.getText());}*/ //查询余额

}else if(arg0.getSource()==jb3){

int Sum=bc.getSum();

JOptionPane.showMessageDialog(getContentPane(),”当前余额:“+Sum+”元“,”余额查询“,JOptionPane.WARNING_MESSAGE);

//连接服务器

}else if(arg0.getSource()==jb4){

flag=bc.testJDBC(jtf5.getText());

if(flag){

jtf5.setText(”已连接服务器“);jtf5.setEditable(false);jb4.setEnabled(false);JOptionPane.showMessageDialog(getContentPane(),”

}else{ 无法连接到数据库,服务器未打开或端口错误“,”警告“,JOptionPane.WARNING_MESSAGE);

} //断开连接

}else if(arg0.getSource()==jb5){

flag=bc.ExitJDBC();

if(flag){ JOptionPane.showMessageDialog(getContentPane(),”已断开服务器!“,”提示“,JOptionPane.WARNING_MESSAGE);

jtf5.setText(”localhost:1433“);jtf5.setEditable(true);jb4.setEnabled(true);JOptionPane.showMessageDialog(getContentPane(),”

}else{ 数据库断开失败,请重试“,”提示“,JOptionPane.WARNING_MESSAGE);

}

//(菜单)帮助-软件介绍

}else if(arg0.getSource()==ji1){ JOptionPane.showMessageDialog(getContentPane(),”软件名称:个人财务管理系统n软件版本:“+version+”(内测版本)n作 者:张强n更新时间:2015-5-24“,”软件简介“,JOptionPane.WARNING_MESSAGE);

;

cldMax=format.format(calendar1.getTime());while(!cld.equals(cldMax)){

//日期选择

}else if(arg0.getSource()==jtf3Listener){

try {

int i=0;

String[] possible =new String[31];DateFormat format = new

Calendar calendar=Calendar.getInstance();Calendar calendar1=Calendar.getInstance();String cld,cldMax;

cld=format.format(calendar.getTime());

//(菜单)文件-退出

}else if(arg0.getSource()==ji2){ int x=MainTest.this.getX();int y=MainTest.this.getY();

for(int i = 0;i <300;i++){

x=x-3;

y=y-2;

MainTest.this.setSize(x, y);

Thread.sleep(1);

}

System.exit(0);SimpleDateFormat(”yyyy-M-dd“);calendar.set(Calendar.DATE,calendar.getActualMinimum(Calendar.DATE));calendar1.set(Calendar.DATE,calendar.getActualMaximum(Calendar.DATE))

possible[i]=cld;

calendar.add(Calendar.DAY_OF_MONTH,1);

cld=format.format(calendar.getTime());

}

possible[i]=cld;String i=i+1;selectedValue=JOptionPane.showInputDialog(null,”请选择:“,”日期“, JOptionPane.INFORMATION_MESSAGE, null, possible, possible[0]).toString();

}

if(selectedValue!=”“){

jtf3.setText(selectedValue);}else{}

// TODO Auto-generated catch block

} catch(Exception e){ } }catch(Exception e){new FrameChange().run();JOptionPane.showMessageDialog(getContentPane(),”请先连接服务器“,”警告!“,JOptionPane.WARNING_MESSAGE);

} //System.out.println(”请先连接服务器“);} }

} }

public class Person {

String Name=”“;

int Money;

String Date=null;

String Message=null;public Person(){};

public Person(String name, int money,String date,String Message){

}

public String toString(){ return ”姓名:“ + Name + ” 金额:“ + Money + ” 日期:“ + Date +” 备super();Name = name;Money = money;this.Date = date;this.Message=Message;

注:"+ Message;} }

第三篇:C++通讯录管理系统

黑龙江工程学院

第一章 问题分析和任务定义

1.1 问题分析

问题: 编写一个通讯录管理系统。要求包括通讯录建立、增加号码、删除号码、查询号码(按姓名、按号码)、修改号码、号码分组、打印通讯录(全部或分组号码)等功能,并设计主控菜单和子菜单供用户选择要执行的操作。

分析:

实现以下功能:

1)通讯录编辑(添加、删除); 2)按不同的项进行查找;

3)对已存在的通讯录按不同的项排序; 4)将通讯录写入文件; 5)从文件读入通讯录。

1.2 任务定义

创建一个链表,每个节点有姓名和号码以及关系三个信息。增加号码操作为增加节点,删除号码操作为删除节点,查找号码为链表的遍历。每个功能以函数的形式出现,由主控菜单控制。并以文件的形式对号码信息进行保存。

第二章 详细设计

主函数(main()函数)是通过一个多分支语句(switch(i)语句)实现的。显示菜单函数(displaymenu()函数)显示与用户交互的界面。以下是各个模块实现程序各项功能的函数的详细设计:

1、插入新的记录:insert()函数

定义变量,设计loop模块,模块的功能是用来输入记录:输入姓名、性别、电话号码、地址的信息。用for语句查找是否输入了与原有记录相同的记录,用strcmp 函数比较,if 语句判断,如果输入了重复的记录,提示信息:“此记录已存在,请重新输入!”并且用 goto语句返回到loop,重新输入信息。设计一个a模块:键盘输入一个字符,必须是“Y”“y”“N”“n”,否则重新输入。最后if 语句判断变量的值是否重新输入信息,如果输入的是“Y”或“y”,返回到loop,黑龙江工程学院

用户可以输入下一条信息,直到用户输入“N”或“n”返回主界面。每插入一条记录n的值加1。功能的实现见源程序:

2、示好友的信息:display()函数

定义整型变量i用来循环输出记录。分别输出每条记录,并输出记录的个数。

3、查找好友的信息search()函数

定义字符型变量c,字符型数组a,定义loop模块,功能:通过键盘输入要查找的信息。首先显示提示信息:“输入你要查找的好友的姓名”然后从键盘输入姓名。For语句循环内嵌if语句,用strcmp 函数查找信息,并且显示该记录的所有信息,并跳出循环。再用for 语句内嵌if语句判断,如果没有查到显示提示信息:“如果没有查到相关语句,是否重新查找(Y/N)?定义abc模块的功能输入一个字符(“Y”或“y”“N”“n”)用来判断是否重新查找。如果输入“Y”或“y”,则用goto语句返回loop重新查找。否则令i的值为n跳出循环。最后返回主界面。

4、删除好友信息:del()函数

首先定义字符数组、变量和a、b两个goto标识符。在a模块中用scanf函数输入要删除的好友的姓名,用for循环和if 语来实现对好友的查找,如果找到记录末尾,提示查无此人。在b模块中,用来实现删除功能。先确认是否删除,如果键盘输入Y 或y来确认要删除再执行for循环,通过strcmpy函数把后一条记录复制到前一条记录。进行删除记录后,并把原末尾记录数据赋空字符,按任意键删除,按任意键返回主菜单。

5、修改记录:modify()函数

定义了a、b两个goto标识符。在a模块中,用scanf函数输入要修改人的姓名,用for 循环、if语句及strcmp函数找到该姓名的记录,若到记录末尾提示“查无此人”是否继续重新输入姓名,黑龙江工程学院

如果重新输入姓名再用goto语句再执行重新查找。在b模块中,用于修改记录,如果要修改记录则从键盘输入Y或y,用scanf函数来输入新的记录数据来实现修改记录。

6、排序:sort()函数

选择法排序的方法。定义变量i,j,用于循环,定义4个字符型数组,用于替换的中间变量;用两个for循环语句,用strcmp函数比较。按姓名升序排序。比较前一条记录和后一条记录的姓名,如果strcmp函数值大于0,则将这两条记录的所有信息替换,4个字符型数组用作替换的中间变量。最后调用display()(显示结果)显示排序后的结果。

第三章 程序编码

#include #include #include struct student //结构体 { char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];};class inter { private: student st[35];public: void add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]);void del(char name[20]);void find1(char no[13]);void find2(char name[20]);void list1();void list2();int correct(char name[20]);void read();void write();

黑龙江工程学院

void format();int back(){

cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”;

char back;

cin>>back;

if(back=='R'||back=='r')

return 1;

else

return 0;} void print(int i){

cout<<“学号:”<

cout<<“姓名:”<

cout<<“地址:”<

cout<<“电话号码:”<

cout<<“邮编:”<

cout<<“E_MAIL:”<

<<“tt★★★★★★★★★★★★★★★★★★★★★★★★★★” <

<<“tt※ ※” <

<<“tt※ 通 迅 录 ※” <

<<“tt※ ※” <

<<“tt※ 1.通讯录编辑.4.按序排列.※” <

<<“tt※ ※” <

<<“tt※ 2.查询联系人.5.将文件读入程序.※” <

<<“tt※ ※” <

<<“tt※ 3.将资料写入文件.6.格式化(慎用).※” <

<<“tt※ ※” <

<<“tt★★★★★★★★★★★★★★★★★★★★★★★★★★” <

<<“tt ”<

<<“ttt选择 :”;cin>>select1;switch(select1)

黑龙江工程学院

{ case '1':cout<<“(1)添加:”<

cout<<“(2)删除:”<

cout<<“(3)修改:”<

char select2;

cout<<“ 请选择:”<

cin>>select2;

switch(select2)

{

case '1':cout<<“ 输入添加的资料:”<

char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];

cout<<“ 输入学号:”<

cin>>no;

cout<<“ 输入姓名:”<

cin>>name;

cout<<“ 输入地址:”<

cin>>address;

cout<<“ 输入电话号码:”<

cin>>tel_no;

cout<<“ 输入邮编:”<

cin>>post_code;cout<<“ 输入E_mail:”<

cin>>e_mail;

a.add(no,name,address,tel_no,post_code,e_mail);

cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”;

char back_add;

cin>>back_add;

if(back_add=='R'||back_add=='r')

goto top;

else

goto bottom;

break;

case '2':cout<<“ 输入要删除人的姓名:”<

char name2[20];

cin>>name2;

a.del(name2);

cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”;

黑龙江工程学院

“;

”;

char back_del;

cin>>back_del;

if(back_del=='R'||back_del=='r')

goto top;

else

goto bottom;

break;case '3':cout<<“ 输入需要修改人的姓名:”<

char name3[20];

cin>>name3;

if(a.correct(name3))

goto top;

else goto bottom;

break;} break;case '2':cout<<“(1)根据姓名查找”<>select3;switch(select3){ case '1':char name4[20];

cout<<“ 输入姓名: ”;

cin>>name4;

a.find2(name4);

cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):

char back_f1;cin>>back_f1;if(back_f1=='R'||back_f1=='r')

goto top;else

goto bottom;break;case '2':char no4[13];cout<<” 输入学号: “;cin>>no4;a.find1(no4);

cout<<” 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): char back_f2;cin>>back_f2;

黑龙江工程学院

“;

”;

if(back_f2=='R'||back_f2=='r')

goto top;

else

goto bottom;

break;} break;case '3':a.write();cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”;char back_w;cin>>back_w;if(back_w=='R'||back_w=='r')

goto top;else

goto bottom;break;case '4':cout<<“(1)按学号排序:”<>select4;switch(select4){ case '1':a.list1();

cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):

char back;cin>>back;if(back=='R'||back=='r')

goto top;else

goto bottom;break;case '2':a.list2();cout<<” 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写):

} char back1;cin>>back1;if(back1=='R'||back1=='r')goto top;else goto bottom;break;

黑龙江工程学院

break;case '5':a.read();

cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”;

char back_r;

cin>>back_r;

if(back_r=='R'||back_r=='r')

goto top;

else

goto bottom;

break;case '6':cout<<“ 请确认删除所有资料!(Y/N)”;

char select5;

cin>>select5;

if(select5=='Y'||select5=='y')

a.format();

cout<<“ 返回还是回到主菜单(T为退出,R为回到主菜单,不计大小写): ”;

char back_f;

cin>>back_f;

if(back_f=='R'||back_f=='r')

goto top;

else

goto bottom;

break;} bottom:cout<<“ ★★★★★★★★★★★★★★★★★★★★★★★ ”<

void inter::add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]){ int x=1;for(int i=0;i<35;i++){

if(!strcmp(st[i].no,“0”))

{

strcpy(st[i].address,address);

strcpy(st[i].e_mail,e_mail);

strcpy(st[i].name,name);

strcpy(st[i].no,no);

strcpy(st[i].post_code,post_code);

strcpy(st[i].tel_no,tel_no);

x=0;

}

黑龙江工程学院

if(x==0)

break;} } //删除联系人

void inter::del(char name[20]){ int x=1;for(int i=0;i<35;i++){

if(!strcmp(st[i].name,name))

{ strcpy(st[i].address,“0”);

strcpy(st[i].e_mail,“0”);

strcpy(st[i].name,“0”);

strcpy(st[i].no,“0”);

strcpy(st[i].post_code,“0”);

strcpy(st[i].tel_no,“0”);

}

else x=0;} if(x==0)

cout<<“ error:输入姓名错误!”<

int inter::correct(char name[30]){ int x;for(int i=0;i<35;i++){

if(!strcmp(st[i].name,name))

x=i;} char select;cout<<“(1)修改姓名:”<>select;switch(select){ case '1':cout<<“ 输入要修改的姓名:”;

黑龙江工程学院

char name1[30];

cin>>name1;

strcpy(st[x].name,name1);

cout<<“ 修改成功!”<

return back();

break;case '2':cout<<“ 输入要修改的学号:”;

char no1[13];

cin>>no1;

strcpy(st[i].no,no1);

cout<<“ 修改成功!”<

return back();

break;case '3':cout<<“ 输入要修改的地址:”;

char address1[100];

cin>>address1;

strcpy(st[x].address,address1);

cout<<“ 修改成功!”<

return back();

break;case '4':cout<<“ 输入要修改的邮编:”;

char post_code1[7];

cin>>post_code1;

strcpy(st[x].post_code,post_code1);

cout<<“ 修改成功!”<

return back();

break;case '5':cout<<“ 输入要修改的电话号码:”;

char tel_no1[12];

cin>>tel_no1;

strcpy(st[x].tel_no,tel_no1);

cout<<“ 修改成功!”<

return back();

break;case '6':cout<<“ 输入要修改的E_MAIL:”;

char e_mail1[40];

cin>>e_mail1;

strcpy(st[x].e_mail,e_mail1);

cout<<“ 修改成功!”<

return back();

break;} } //按学号查询联系人

黑龙江工程学院

void inter::find1(char no[13]){ int x,y=1,z=1;for(int i=0;i<35;i++){

if(!strcmp(st[i].no,no))

{

x=i;

z=0;

}

else y=0;

if(z==0)

break;}

if(y==0)

cout<<“ 输入的学号查找不到!!”<

} //按姓名查询联系人

void inter::find2(char name[20]){ int x,y=1,z=1;for(int i=0;i<35;i++){

if(!strcmp(st[i].name,name))

{

x=i;

z=0;

}

else y=0;

if(z==0)

break;} if(y==0)

cout<<“ 输入的姓名查找不到!!”<

void inter::read(){

char name1[20];cout<<“ 输入你要导入的文件名: ”;cin>>name1;

黑龙江工程学院

strcat(name1,“.txt”);ifstream file(name1);char line[120];char no[120];char name[120];char address[120];char post_code[120];char tel_no[120];char e_mail[120];int time=0;file.getline(line,120);while(!file.eof()){ for(int k=0;k<35;k++){

if(time==0)

{

strcpy(no,line);

time=1;

for(int i=0;i<120;i++)

{

if(no[i]==':')

{

i++;

for(int j=0;j<13;j++)

{

st[k].no[j]=no[i];

i++;

}

}

}

file.getline(line,120,'n');

} if(time==1){

strcpy(name,line);

time=2;

for(int i=0;i<120;i++)

{

if(name[i]==':')

{

i++;

for(int j=0;j<20;j++)

{

黑龙江工程学院

st[k].name[j]=name[i];

i++;

}

} } file.getline(line,120,'n');} if(time== 2){ strcpy(address,line);time=3;for(int i=0;i<120;i++){

if(address[i]==':')

{

i++;

for(int j=0;j<100;j++)

{

st[k].address[j]=address[i];

i++;

}

} } file.getline(line,120,'n');}

if(time==3){ strcpy(tel_no,line);time=4;for(int i=0;i<120;i++){

if(tel_no[i]==':')

{

i++;

for(int j=0;j<12;j++)

{

st[k].tel_no[j]=tel_no[i];

i++;

}

} } file.getline(line,120,'n');}

黑龙江工程学院

if(time==4)

{

strcpy(post_code,line);

time=5;

for(int i=0;i<120;i++)

{

if(post_code[i]==':')

{

i++;

for(int j=0;j<7;j++)

{

st[k].post_code[j]=post_code[i];

i++;

}

}

}

file.getline(line,120,'n');

}

if(time==5)

{

strcpy(e_mail,line);

time=0;

for(int i=0;i<120;i++)

{

if(e_mail[i]==':')

{

i++;

for(int j=0;j<40;j++)

{

st[k].e_mail[j]=e_mail[i];

i++;

}

}

}

file.getline(line,120,'n');

}

}

} file.close();} //写入文件

void inter::write(){ char name[20];

黑龙江工程学院

cout<<“ 输入要保存的文件名 ”;cin>>name;strcat(name,“.txt”);ofstream savefile(name);for(int i=0;i<35;i++){

savefile << “学号:”<

savefile << “姓名:”<

savefile << “地址:”<

savefile << “电话号码:”<

savefile << “邮编:”<

savefile << “E_MAIL:”<

void inter::list1(){ for(int i=0;i<34;i++){

for(int j=0;j<35-i;j++)

{

if(strcmp(st[j].no,st[j+1].no)>0)

{

char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];

strcpy(no,st[j].no);

strcpy(st[j].no,st[j+1].no);

strcpy(st[j+1].no,no);

strcpy(name,st[j].name);

strcpy(st[j].name,st[j+1].name);

strcpy(st[j+1].name,name);

strcpy(address,st[j].address);

strcpy(st[j].address,st[j+1].address);

strcpy(st[j+1].address,address);

strcpy(tel_no,st[j].tel_no);

黑龙江工程学院

strcpy(st[j].tel_no,st[j+1].tel_no);

strcpy(st[j+1].tel_no,tel_no);

strcpy(post_code,st[j].post_code);

strcpy(st[j].post_code,st[j+1].post_code);

strcpy(st[j+1].post_code,post_code);

strcpy(e_mail,st[j].e_mail);

strcpy(st[j].e_mail,st[j+1].e_mail);

strcpy(st[j+1].e_mail,e_mail);

}

} } for(int k=0;k<35;k++){

int x=0;

if(strcmp(st[k].no,“0”))

{

print(k);

x=1;

}

if(x==1)

{

cout<

cout<<“---------------”<

} } } //按姓名排序

void inter::list2(){ for(int i=0;i<34;i++){

for(int j=0;j<35-i;j++)

{

if(strcmp(st[j].name,st[j+1].name)>0)

{

char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];

黑龙江工程学院

char e_mail[40];

strcpy(no,st[j].no);

strcpy(st[j].no,st[j+1].no);

strcpy(st[j+1].no,no);

strcpy(name,st[j].name);

strcpy(st[j].name,st[j+1].name);

strcpy(st[j+1].name,name);

strcpy(address,st[j].address);

strcpy(st[j].address,st[j+1].address);

strcpy(st[j+1].address,address);

strcpy(tel_no,st[j].tel_no);

strcpy(st[j].tel_no,st[j+1].tel_no);

strcpy(st[j+1].tel_no,tel_no);

strcpy(post_code,st[j].post_code);

strcpy(st[j].post_code,st[j+1].post_code);

strcpy(st[j+1].post_code,post_code);

strcpy(e_mail,st[j].e_mail);

strcpy(st[j].e_mail,st[j+1].e_mail);

strcpy(st[j+1].e_mail,e_mail);

}

} } for(int k=0;k<35;k++){

int x=0;

if(strcmp(st[k].no,“0”))

{

print(k);

x=1;

}

if(x==1)

{

cout<

cout<<“-------”<

} }

黑龙江工程学院

} //格式化

void inter::format(){ for(int i=0;i<35;i++){

strcpy(st[i].address,“0”);

strcpy(st[i].e_mail,“0”);

strcpy(st[i].name,“0”);

strcpy(st[i].no,“0”);

strcpy(st[i].post_code,“0”);

strcpy(st[i].tel_no,“0”);} }

第四章 程序调试与测试

运行程序,首页显示如下:

按1选择通讯录编辑,编辑通讯录,显示(1)添加,(2)删除,(3)修改,运行后结果如下:

黑龙江工程学院

第一次使用,按1添加联系人,填入相关信息,运行图如下:

返回首页,按2可以查找联系人,可以根据姓名查找和学号查找,本次运用学号查找,运行如下:

返回首页,按4可以进行排序,可以根据姓名和学号排序,按姓名排序需要自己编辑的姓氏排序规则才能使用,本次使用学号排序,运行如下:

将资料写入文件功能是将编辑好的通讯录写入文本文件,文本文件的名字可以自己输入。将文件读入程序,是将文本文件中的信息读入程序,进行添加,修改,删除,排序等功能。

第五章 结果分析

总体上可以满足一般的应用需求,但是还有一定的不足,程序运行流畅,没有未知错误。

第六章 设计创新及心得

黑龙江工程学院

程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C++语言又是最常见,功能最强大的一种高级语言,因此做好C++语言课程设计是十分必要的。

通过几天的课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次真真的做程序设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针„„通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。

我做的是班级通讯录的课程设计,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难。更加是第一次做课程设计,所以在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。

开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多功能上的欠缺和漏洞,可我还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C++语言的一次实践作业,自己进步的证明。

在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!

第四篇:简单学生信息管理系统C++范文

#include

#include

using namespace std;

int i=0;

void layout()

{

cout<<“欢迎使用学生信息系统”<

cout<<“请选择功能序号:”<

cout<<“0.输入学生信息”<

cout<<“1.计算平均分并排序”<

cout<<“2.统计学科平均分”<

cout<<“3.统计班级平均分”<

cout<<“4.按学号修改学生信息”<

cout<<“5.根据学号查询学生信息”<

cout<<“---------万恶的分割线----------”<

}

class student

{

private:

int num;

string name;

double score1,score2;

public:

double c;

int banji;

string sex;

student(){}

void set_student(int bj,int n,string nam,string s,double les1,double les2){

banji=bj;

num=n;

name=nam;

sex=s;

score1=les1;

score2=les2;

}

int get_score1()

{

return score1;

}

int get_score2()

{

return score2;

}

int get_num()

{

return num;

}

void show()

{

c=(score1+score2)/2;

cout<

}

}stu[20];

void show_1()

{

cout<<“班级:t学号t姓名t性别t学科一t学科二t平均分”<

}

//学生信息输入//

void INPUT()

{

int j=0;

int x;

do{int banji;int num;string name;string sex;double score1,score2;

cout<<“请输入学生信息:”<

cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”<

cin>>banji>>num>>name>>sex>>score1>>score2;

stu[i].set_student(banji,num,name,sex,score1,score2);

i++;

cout<<“是否继续输入学生信息?是:请输入0/否:请输入1”<

cin>>x;

}while(x==0);

show_1();

for(j=0;j

{

stu[j].show();

}

}

//计算平均分并排序//

void Paixu()

{student stu1;

for(p=0;p<=i-1;p++)

{

k=p;

for(j=p+1;j

if(stu[j].c

{k=j;

stu1=stu[k];stu[k]=stu[p];stu[p]=stu1;

}

}

show_1();

for(j=0;j

{

stu[j].show();

}

}

//统计学科平均分//

void xueke()

{

double q1;

double sum1;

int p1;

for(p1=0;p1<=i;p1++)

{

sum1=sum1+stu[p1].get_score1();

}

q1=sum1/i;

cout<<“学科一平均成绩:”<

double q2;

double sum2;

int p2;

for(p2=0;p2<=i;p2++)

{

sum2=sum2+stu[p2].get_score2();

}

q2=sum2/i;

cout<<“学科二平均成绩:”<

}

//统计班级平均分//

void banji()

double q1,q2;

double sum1,sum2;

int p,m;

m=0;

sum1=0;sum2=0;

for(p=0;p<=i;p++)

{

a[p]=stu[p].banji;

}

for(m=0;m<=i;m++)

{int t=1;

sum1=stu[m].get_score1();

sum2=stu[m].get_score2();

for(p=m+1;p<=i;p++)

{

if((a[m]==a[p])&&a[p]!=0)

{

sum1=sum1+stu[p].get_score1();

sum2=sum2+stu[p].get_score2();

a[p]=0;

t++;

}

}

if(a[m]!=0){

q1=sum1/t;

q2=sum2/t;

cout<<“电信”<

cout<<“学科二平均成绩:”<

}

}

}

//按学号查询学生信息//

void chaxun()

{int x;

cout<<“请输入学号:”;

cin>>x;

int p;

for(p=0;p<=i;p++)

{

if(x==stu[p].get_num())

{

show_1();

stu[p].show();

}

}

}

//按学号修改学生信息//

void xiugai()

{

int j;

int x;

cout<<“请输入需修改学号:”;

cin>>x;

int p;

for(p=0;p<=i;p++)

{

if(x==stu[p].get_num())

{

int banji;int num;string name;string sex;double score1,score2;

cout<<“请输入学生信息:”<

cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”<

cin>>banji>>num>>name>>sex>>score1>>score2;

stu[p].set_student(banji,num,name,sex,score1,score2);

show_1();

for(j=0;j

{

stu[j].show();

}

}

}

}

int main()

{layout();

int flag;

int n;

for(n=0;n<=100;n++)

{

cin>>flag;

switch(flag){

case 0:

cout<<“输入范例:”;

cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”<

cout<<“1 1109 朱伟 男 100 98”<

cout<<“---------万恶的分割线----------”<

INPUT();

break;

case 1:

Paixu();

break;

case 2:

xueke();

break;

case 3:

banji();

break;

case 4:

chaxun();

break;

case 5:

xiugai();

break;

case 6:

n=100;

}cout<<“再见!谢谢使用本系统!”;break;default:cout<<“请重新输入功能序号:”;break;}}

第五篇:C++同学录查询系统

#include #include #include #include #include。#include #include using namespace std;const int N=100;int i;struct person{

char sex[5];//性别

char tel[12];//电话号码

char snumber[12];//学号

char QQ[12];//QQ号码

char Email[30];//电子邮件

char address[60];//住址 };class student{ public: void Add();//新增同学 void Del();//删除同学 void Show();//显示同学 void Search();//查找同学 void Exit();//退出系统 void Edit();//编辑 void Help();//帮助

void Menuprint();//新增同学 strcpy()char name[20];//姓名 protected: person s[N];int sum;};

void student::Add(){system(“cls”);//清屏函数 ofstream outfile(“D:classmates.txt”,ios::binary);

if(!outfile){ cerr<<“对不起,文件打开失败!”<>sum;cout<

} outfile.close();}

void student::Show()//对同学信息的显示 {system(“cls”);person ss[N];ifstream infile(“D:classmates.txt”,ios::binary);//将信息从硬盘中调cout<<“这是第”<>s[i].name;cout<<“性别:”;cin>>s[i].sex;cout<<“电话号码:”;cin>>s[i].tel;cout<<“学号:”;cin>>s[i].snumber;cout<<“QQ号码:”;cin>>s[i].QQ;cout<<“电子邮箱:”;cin>>s[i].Email;cout<<“住址:”;cin>>s[i].address;outfile.write((char*)&s[i],sizeof(person));到内存中,if(!infile){ cerr<<“对不起,打开失败哦!”<

} //对同学信息的查询 void student::Search(){system(“cls”);

int m,i,bol=0;char xm[20];char n[12];

cout<<“请选择查找方式(1.按学号查找2.按姓名查找):”<>m;}while(m!=1&&m!=2);

if(m==1){

cout<<“请输入学号:”<>n;for(i=0;i

if(strcmp(s[i].snumber,n)==0){ cout<<“已找到!”<

} cout<<“全部显示完毕!”<

}

cout<<“姓名:”<

cout<<“电话号码:”<

cout<<“QQ号码:”<

} if(m==2){

cout<<“请输入姓名:”<>xm;for(i=0;i

} bol=1;} if(bol==0)cout<<“未找到该同学!”<

cout<<“电话号码:”<

cout<<“QQ号码:”<

}

} if(bol==0){cout<<“未找到该同学!”<

system(“cls”);char n[12],i,bol=0;int t;cout<<“请输入你想删除同学的学号:”<>n;for(i=0;i

} ofstream outfile(“D:classmates.txt”,ios::binary);if(strcmp(s[i].snumber,n)==0){

} if(bol=0){cout<<“未找到该同学!”<

} //对同学信息的修改

void student::Edit(){ system(“cls”);char m[12],i,a=0;

} cout<<“请您输入你要编辑同学的学号:”<>m;for(i=0;i

if(strcmp(s[i].snumber,m)==0){ cout<<“已找到!”<>s[i].name;cout<<“新的性别:”;cin>>s[i].sex;cout<<“新的电话号码:”;cin>>s[i].tel;cout<<“新的学号:”;cin>>s[i].snumber;cout<<“新的电子邮箱:”;cin>>s[i].Email;cout<<“新的住址:”;cin>>s[i].address;

} if(a==0){cout<<“未找到你所找的同学!”<>s[i].QQ;cout<<“这是第”<

机械1106班

同学录查询系统

----------”<

1.新 增 同 学

cout<<“------

2.删 除 同 学

-----”<

3.编 辑 同 学

cout<<”------

4.显 示 同 学

cout<<“------

5.查 找 同 学

-----”<

6.退 出-----”<>choice;}while(choice<=0||choice>6);switch(choice){ case 1:Add();Help();break;case 2:Del();Help();break;case 3:Edit();Help();break;case 4:Show();Help();break;case 5:Search();Help();break;case 6:Exit();Help();break;} }

void student::Exit()

{ system(“cls”);int m;cout<<“你确定退出本系统?(1.退出2.返回菜单):”<>m;} while(m!=1&&m!=2);if(m==1)cout<<“谢谢使用本系统,再见!”<

系 统

} int m;cout<<“是否返回菜单?(1.返回2.退出)”<>m;}while(m!=1&&m!=2);if(m==1)Menuprint();Exit();if(m==2)int main(){ student obj;obj.Menuprint();return 0;}

下载c++个人财务管理系统(五篇模版)word格式文档
下载c++个人财务管理系统(五篇模版).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C++课设——个人通讯录管理系统

    C++课程设计——个人通讯录管理系统 系统功能的基本要求: (1)查看功能:选择此功能时,列出下列三类选择。 A 办公类;B 个人类; C 商务类; 当选中某类时,显示出此类所有数据中 的姓名......

    火车订票系统c++程序

    /* 头文件 */ #include //标准输入、输出头文件 #include //包含字符串函数处理头文件 #include //包含动态存储与释放函数头文件 /* 宏定义 */ #define GESHI " 车次 站数......

    C++课程设计公司人事管理系统

    C++程序设计实践教学环节任务书 承接的项目额(10%)提成,业务经理既拿固定月薪(2000元)也领取提成,财务人员固定工资(2000元),文秘为固定工资(1500元)。 (4) 可按姓名显示、查找、......

    c++学校人员信息管理系统

    1.C++课程设计题目:《学校人员信息管理系统》 用c++设计一个大学教师和学生管理程序,教师包括编号(a),姓名(c),职称(d)和教研室数据(b)的数据输入输出; 大学生包括编号(m),......

    C++程序设计—电话簿管理系统

    XXXXXXXXXXXC/C++程序设计实训 电话簿管理系统 学生姓名 ×××× 学 号 ×××× 所在学院 ×××× 专业名称 ×××× 班 级 ×××× 指导教师 XXX XXXXXXXXXXXXXXXX XX......

    C++课程设计(简单图书管理系统)

    课 程 设 计 课程名称C++课程设计 题目名称图书管理系统 2016 年6 月 29 日目录 一.设计内容与要求 .......................................................................

    C++课程设计学生信息管理系统

    C++程序设计实践教学环节任务书 一、题目:学生信息管理系统 二、目的与要求 1. 目的: (1) 掌握面向对象程序设计的基本思路和方法; (2) 了解系统开发的需求分析、类层次设计、......

    C++课程设计(教务管理系统)

    #include using namespace std; #include #include #include #include #include #include"01.h" class University; void menu(University uni);//菜单函数声明class Stude......