登録、修正 消去 をするには?


初心者  2009-07-30 00:17:36  No: 70726

cppファイル
#include "stdafx.h"

#include<iostream>
#include <string.h>

using namespace std;

char *p;
int counter=0;

db::db()
{
int i;
for(i=0;i<=9;i++){
data[i]=(char *)malloc(21);

}
}

db::~db()
{
int i;
for(i=0;i<=9;i++)
free(data[i]);
}

void db::entry(){
cout<<"名前を入れてください→";
cin>>p;
if(counter<=9){
strcpy(data[counter],p);
cout<<p<<endl;
counter++;
}else if(counter=9){
cout<<"データがいっぱいです"<<endl;
}
}
void db::prdb(){
int m;
for(m=0;m<=counter-1;m++){
cout<<data[m]<<endl;
}
}

void db::dreat(){
if(counter==0){
cout<<"一つも名前を登録していません"<<endl;
}else{
cout<<"消去する名前を入れてください→";
cin>>p;
if(p==NULL){
cout<<"入力された名前は登録されていません";
}else{
cout<<"消去しました"<<endl;
counter--;
}
}
}

int _tmain(int argc, _TCHAR* argv[])
{
  
db a,b,c;
char work;
p=(char *)malloc(20);
for( ; ;){
cout<<"e:登録d:消去m:修正f:終了どれかを押してください→";
cin>>work;

if(work=='e'){
a.entry();
a.prdb(); 
}else if(work=='d'){
b.dreat();
}else if(work=='m'){
cout<<"修正する名前を入れてください→";
cin>>p;
}else if(work=='f'){
cout<<"プログラムを終了します"<<endl;
break;
}else{
cout<<"入力エラー"<<endl;
}
}
}

#pragma once
ヘッダーファイル
#include <stdio.h>
#include <tchar.h>

class db
{
public:
char *data[10];
db::db();
db::~db();
void entry();
void prdb();
void dreat();

};
登録、修正  消去  をしようとしているのですがうまくいきません><;
どこを直せばいいのでしょうか?

あと並べ替えもしたいのですがよろしければ教えてください。


επιστημη  URL  2009-07-30 04:41:02  No: 70727

どこが/どう うまくいかないか説明してください。


wclrp ( 'o')  2009-07-30 05:06:42  No: 70728

こういう質問はプログラムの説明とか一通り説明してほしい。
質問を理解するまでが苦痛。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加