473,395 Members | 1,335 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Here is my full program excluding the search and delete functions

Thank you for your help I think I know what the problem is. Firstly the
add_record cannot read the record.txt or something if the record.txt (in
which I used it to store the details of each record) is present in the
same directory. When it prompt
enter your selection from the menu, it will just stuck there so I cant
even create a new entry and thus I cant check the modify function in my
program. If it's not present, it will create a record.txt once I've add
everything in it when I view
in the record.txt file, these shows up
4198977 %[^/]%*c %c %c
I dont know if it's correct or it should be (for example) :
4198977(ID), Rebecca( Name), F(Gender), Accounting(Department)


Below are the source codes :

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

char Name[50];
char Department [4] [50] = {"Accounting", "Administration", "Management"
,
"Others"};
int ID[50];
char Gender [2] [50] = {"Male", "Female"} ;
char *stars="********================*********";
char *lines="---------------------------------";
char *empty=" ";
int txt_inserted;

/*Functions*/

void modify_record();
void add_record();
void search_record();
//void list_record();
void delete_record();
//void exit();
void menu();

/* MAIN */
main(){
clrscr();
menu();
getch();
return 0;
}

/* FUNCTION: MENU */
void menu(){
int selection;

FILE *start;
if((start = fopen("record.txt", "a+")) == NULL)
printf(" File record.txt is not found! Previous saved employee records
did
not loaded\n\n");
else {
fscanf(start, "%i %*c %c %*c, &ID", &Name, &Gender, &Department);
printf(" Values Uploaded: %i %*c %c %*c", &ID, &Name, &Gender,
&Department);
fclose(start);}

gotoxy(15,1);
puts("\n -------* [Welcome To Net Communication Human Resource]
*-------");
printf("\t%s\n",stars);
puts("\t#\t1.Staff Biodata Maintenance\t#");
puts("\t#\t2.Search Employee Records via Emplyee ID\t#");
puts("\t#\t3.Display all employee by department\t#");
puts("\t#\t4.Employee Record deletion\t#");
puts("\t#\t5.Exit\t#");
printf("\t%s\n",stars);
printf("\n Enter Your Selection: ");
fflush(stdin);
scanf("%d", &selection);

if (selection == 1) add_record();
else if (selection == 2) search_record();
//else if (selection == 3) list_record();
else if (selection == 4) delete_record();
//else if (selection == 5) exit();
else{ printf(" Please only select from the above menu"); getch();
clrscr(); menu();}
}

/*Function 1a*/

void modify_record(){
char Name[50];
int Target, ID, selection, Found=0;
FILE *rec, *temp;

temp=fopen("temp.txt", "w+");
if((rec=fopen("record.txt", "r+")) == NULL)
printf("\nerror: file not found.\n");
else {
printf(" ENTER the employee ID to be modified: ");
scanf("%d", &Target);
while(!feof(rec)){
fscanf(rec, "%i %*c %c %*c", &ID, &Name, &Gender, &Department);
if(feof(rec))
break;
else if(Target==ID)
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender, Department);
else
{
Found=1;
printf("\n Record Found! Please re-enter details for the
employee ::%s::", Name);

/*Modify employee details*/
gotoxy(1,15);
printf("\n Employee details edit ");
do
{
gotoxy(1, 22);
printf(" Name : ");
gotoxy(10, 22);
fflush(stdin);
scanf("%s",&Name);
printf(" Gender : ");
fflush(stdin);
scanf("%s",&Gender);
printf("Please enter the department for this employee, [0]
Administration [1] Management [2] Accounting [3] Others", empty, empty,
empty, empty);
fflush(stdin);
scanf("%d",&selection);
if(selection==0 ){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==1){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==2){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==3){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else
printf("\n\n INVALID CHOICE! PLEASE Re-Enter.\a");
} while(selection < 0 || selection > 3);
}

}
if(!Found)
printf("\n RECORD CANNOT BE FOUND!\n");
add_record();
}
fclose(rec);
fclose(temp);
remove("record.txt");
rename("temp.txt", "record.txt");
getch();
clrscr();
menu();
}


/*Function 1b adding employee*/

void add_record(){
int ID;
int selection;
FILE *rec, *temp;

if ((rec=fopen("record.txt","a+"))==NULL)
ID = 1;
else
{
do{
fscanf(rec, "%i %*c %c %*c", &ID, &Name, &Gender, &Department);
}while(!feof(rec));
ID += 1;
}

do {
gotoxy(2, 15);
printf("\n\n 0) %s\n 1) %s\n 2) %s\n 3) %s\n\n [Enter Department for
this new employee]: ", Department[0], Department[1], Department[2],
Department[3]);
fflush(stdin);
scanf("%d", &selection);
if((selection != 0) && (selection != 1) && (selection !=2) &&
(selection !=3)) {gotoxy(1, 24); printf(" >>invalid Department<<
Retry!\a");}
} while((selection != 0) && (selection != 1) && (selection !=2) &&
(selection !=3));
clrscr();
printf("The new ID for this employee: %04i", ID);
printf("\n Employee Name : \n");
fflush(stdin);
fgets(Name, 49, stdin);
printf("\n Employee Gender: \n");
scanf("%c", &Gender);
printf("\nThe New Employee Record have successfully Saved!");
fprintf(rec, "%i %[^/]%*c %c %c", ID, Name, Gender,
Department);
printf("\n Employee Status Stored!");
fclose(rec);

}

Nov 14 '05 #1
4 1816
ooppps sorry for the double post I didnt see it under a few topics thread
and I accidentally refreshed when I've posted this new topic hopefully
there isn't another post appeared. Sorry ~Gome Gome Gomenasai~ I can get
so careless on things *sigh* im really sorry

Nov 14 '05 #2

"kimimaro" <li************@yahoo.com> wrote
Thank you for your help I think I know what the problem is. Firstly the
add_record cannot read the record.txt or something if the record.txt (in
which I used it to store the details of each record) is present in the
same directory. When it prompt
enter your selection from the menu, it will just stuck there so I cant
even create a new entry and thus I cant check the modify function in my
program. If it's not present, it will create a record.txt once I've add
everything in it when I view
in the record.txt file, these shows up
4198977 %[^/]%*c %c %c
I dont know if it's correct or it should be (for example) :
4198977(ID), Rebecca( Name), F(Gender), Accounting(Department)


Below are the source codes :

#include <stdio.h>
#include <conio.h>

conio.h is not an ANSI header. This is not an error, but means that your
program will not be portable.
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

char Name[50];
char Department [4] [50] = {"Accounting", "Administration", "Management"
,
"Others"};
int ID[50];
char Gender [2] [50] = {"Male", "Female"} ;
Sex. "Gender" is masculine or feminine and refers to grammar. Human beings
have sex.
char *stars="********================*********";
char *lines="---------------------------------";
char *empty=" ";
int txt_inserted;
/*Functions*/

void modify_record();
void add_record();
void search_record();
//void list_record();
void delete_record();
//void exit();
void menu();

/* MAIN */
Your comments are pretty useless. We all know that main is the MAIN
function. How about telling us what the program is supposed to do?
main(){
clrscr();
menu();
getch();
return 0;
}
This is good, a main() that consists enirely of subroutine calls. /* FUNCTION: MENU */
Again, tell us what the function does.
void menu(){
int selection;

FILE *start;
if((start = fopen("record.txt", "a+")) == NULL)
printf(" File record.txt is not found! Previous saved employee records
did
not loaded\n\n");
else {
fscanf(start, "%i %*c %c %*c, &ID", &Name, &Gender, &Department);
This is pretty hopeless. fscanf() writes to pointers that you supply. "Name"
is a string, so you want the %s identifier. "Gender" might be a single
letter, in which case you pass the address of a char, or it might be a
string, in which case you pass the address of an array and use the %s
identifier. In neither case do you pass an array of strings, which is what
"Gender"is at the moment.
printf(" Values Uploaded: %i %*c %c %*c", &ID, &Name, &Gender,
&Department);
Confusingly, the format strings used by printf() and scanf() are not
mutually compatible though they are similar. "*" menas different things, for
example.
fclose(start);}

gotoxy(15,1);
puts("\n -------* [Welcome To Net Communication Human Resource]
*-------");
printf("\t%s\n",stars);
puts("\t#\t1.Staff Biodata Maintenance\t#");
puts("\t#\t2.Search Employee Records via Emplyee ID\t#");
puts("\t#\t3.Display all employee by department\t#");
puts("\t#\t4.Employee Record deletion\t#");
puts("\t#\t5.Exit\t#");
printf("\t%s\n",stars);
printf("\n Enter Your Selection: ");
fflush(stdin);
You flush a toilet, but not a tap. flfush() is for output only.
scanf("%d", &selection);
This is OK. scanf() returns the number of fields successfully converted.
if( scanf("%d", &selection) == 1)
{
/* processing */
}
else
{
/* error */
}

will do the trick.
if (selection == 1) add_record();
else if (selection == 2) search_record();
//else if (selection == 3) list_record();
else if (selection == 4) delete_record();
//else if (selection == 5) exit();
else{ printf(" Please only select from the above menu"); getch();
clrscr(); menu();}
}

/*Function 1a*/

void modify_record(){
char Name[50];
int Target, ID, selection, Found=0;
FILE *rec, *temp;

temp=fopen("temp.txt", "w+");
if((rec=fopen("record.txt", "r+")) == NULL)
printf("\nerror: file not found.\n");
else {
printf(" ENTER the employee ID to be modified: ");
scanf("%d", &Target);
while(!feof(rec)){
fscanf(rec, "%i %*c %c %*c", &ID, &Name, &Gender, &Department);
if(feof(rec))
break;
else if(Target==ID)
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender, Department);
else
{
Found=1;
printf("\n Record Found! Please re-enter details for the
employee ::%s::", Name);

/*Modify employee details*/
gotoxy(1,15);
printf("\n Employee details edit ");
do
{
gotoxy(1, 22);
printf(" Name : ");
gotoxy(10, 22);
fflush(stdin);
scanf("%s",&Name);
printf(" Gender : ");
fflush(stdin);
scanf("%s",&Gender);
printf("Please enter the department for this employee, [0]
Administration [1] Management [2] Accounting [3] Others", empty, empty,
empty, empty);
fflush(stdin);
scanf("%d",&selection);
if(selection==0 ){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==1){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==2){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==3){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else
printf("\n\n INVALID CHOICE! PLEASE Re-Enter.\a");
} while(selection < 0 || selection > 3);
}

}
if(!Found)
printf("\n RECORD CANNOT BE FOUND!\n");
add_record();
}
fclose(rec);
fclose(temp);
remove("record.txt");
rename("temp.txt", "record.txt");
getch();
clrscr();
menu();
}


/*Function 1b adding employee*/

void add_record(){
int ID;
int selection;
FILE *rec, *temp;

if ((rec=fopen("record.txt","a+"))==NULL)
ID = 1;
else
{
do{
fscanf(rec, "%i %*c %c %*c", &ID, &Name, &Gender, &Department);
}while(!feof(rec));
ID += 1;
}

do {
gotoxy(2, 15);
printf("\n\n 0) %s\n 1) %s\n 2) %s\n 3) %s\n\n [Enter Department for
this new employee]: ", Department[0], Department[1], Department[2],
Department[3]);
fflush(stdin);
scanf("%d", &selection);
if((selection != 0) && (selection != 1) && (selection !=2) &&
(selection !=3)) {gotoxy(1, 24); printf(" >>invalid Department<<
Retry!\a");}
} while((selection != 0) && (selection != 1) && (selection !=2) &&
(selection !=3));
clrscr();
printf("The new ID for this employee: %04i", ID);
printf("\n Employee Name : \n");
fflush(stdin);
fgets(Name, 49, stdin);
printf("\n Employee Gender: \n");
scanf("%c", &Gender);
printf("\nThe New Employee Record have successfully Saved!");
fprintf(rec, "%i %[^/]%*c %c %c", ID, Name, Gender,
Department);
printf("\n Employee Status Stored!");
fclose(rec);

}


You made similar mistakes in the above functions. Try playing about with
scanf() and inputting lines until you are comfortable with how to use it.
Nov 14 '05 #3
"Malcolm" <ma*****@55bank.freeserve.co.uk> wrote in message
news:cl**********@newsg3.svr.pol.co.uk...

"kimimaro" <li************@yahoo.com> wrote
char Gender [2] [50] = {"Male", "Female"} ;
Sex. "Gender" is masculine or feminine and refers to grammar.


That's one of two dictionary definitions.

From www.m-w.com:

2 a : SEX <the feminine gender> b : the behavioral, cultural, or
psychological traits typically associated with one sex
Human beings
have sex.


Well, the lucky ones do. :-)

-Mike
Nov 14 '05 #4
On Tue, 26 Oct 2004 07:29:34 -0400, "kimimaro"
<li************@yahoo.com> wrote:
Thank you for your help I think I know what the problem is. Firstly the
add_record cannot read the record.txt or something if the record.txt (in
which I used it to store the details of each record) is present in the
same directory. When it prompt
enter your selection from the menu, it will just stuck there so I cant
even create a new entry and thus I cant check the modify function in my
program. If it's not present, it will create a record.txt once I've add
everything in it when I view
in the record.txt file, these shows up
4198977 %[^/]%*c %c %c
I dont know if it's correct or it should be (for example) :
4198977(ID), Rebecca( Name), F(Gender), Accounting(Department)


Below are the source codes :

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

char Name[50];
char Department [4] [50] = {"Accounting", "Administration", "Management"
,
"Others"};
int ID[50];
char Gender [2] [50] = {"Male", "Female"} ;
char *stars="********================*********";
char *lines="---------------------------------";
char *empty=" ";
int txt_inserted;

/*Functions*/

void modify_record();
void add_record();
void search_record();
//void list_record();
void delete_record();
//void exit();
void menu();

/* MAIN */
main(){
clrscr();
menu();
getch();
return 0;
}

/* FUNCTION: MENU */
void menu(){
int selection;

FILE *start;
if((start = fopen("record.txt", "a+")) == NULL)


Why do you open the file for update when the only I/O you perform is
read?
printf(" File record.txt is not found! Previous saved employee records
did
not loaded\n\n");
You need to learn to indent. It will save you much aggravation later.
else {
fscanf(start, "%i %*c %c %*c, &ID", &Name, &Gender, &Department);
There is a mismatch between your format specifications and the
subsequent arguments. As coded, you have two formats that will
transfer data but three arguments to receive the data.

%i requires an int*. &Name is not related to any int. Did you
perhaps mean to place the &ID outside the format string? That would
be almost correct. &ID has type pointer to array of 50 int, that is
int (*)[50], not the same thing as int*. I don't know why ID is an
array but you could make it correct with &ID[0].

You did not describe your input file so I don't know if %*c is
correct or if it should be %*s.

The next %c should probably be %s. It is extremely unlikely that
you meant name to be a single character. %s requires a char*. &Name
is of type pointer to array of 50 char, syntactically coded as char
(*)[50]. Not nearly the same thing. In this case, you want Name
(without the &).

See above regarding the next %*c.

Why are you reading into Gender when Gender is already
initialized? Do you intend to destroy one of the initialized values?

Where is the format specifier for Department? Why are you
overriding the initialization?

Did you mean something along the lines of

fscanf(start, "%i %*c %s %*c %c %*c %s",
&ID, Name, &Gender[0][0], Department[0]);
printf(" Values Uploaded: %i %*c %c %*c", &ID, &Name, &Gender,
&Department);
You have similar problems here.

%i requires an int, not an int* and definitely not an int(*)[50].

What do you thing the %*c does? The * requires an int in the
argument list. The c requires a char*. You have neither.

Name cannot be printed with c format, you will only get the first
letter.
fclose(start);}

gotoxy(15,1);
puts("\n -------* [Welcome To Net Communication Human Resource]
*-------");
printf("\t%s\n",stars);
puts("\t#\t1.Staff Biodata Maintenance\t#");
puts("\t#\t2.Search Employee Records via Emplyee ID\t#");
puts("\t#\t3.Display all employee by department\t#");
puts("\t#\t4.Employee Record deletion\t#");
puts("\t#\t5.Exit\t#");
printf("\t%s\n",stars);
printf("\n Enter Your Selection: ");
fflush(stdin);
fflush is not defined for input streams, only for output.
scanf("%d", &selection);

if (selection == 1) add_record();
else if (selection == 2) search_record();
//else if (selection == 3) list_record();
else if (selection == 4) delete_record();
//else if (selection == 5) exit();
else{ printf(" Please only select from the above menu"); getch();
clrscr(); menu();}
Do you really want to use recursion here?
}

/*Function 1a*/

void modify_record(){
char Name[50];
This will hide the previous declaration of Name which was at file
scope. This Name is a completely different variable. This may be
what you intended but this type of abuse needlessly increases the
maintenance effort.
int Target, ID, selection, Found=0;
FILE *rec, *temp;

temp=fopen("temp.txt", "w+");
if((rec=fopen("record.txt", "r+")) == NULL)
printf("\nerror: file not found.\n");
else {
printf(" ENTER the employee ID to be modified: ");
scanf("%d", &Target);
while(!feof(rec)){
fscanf(rec, "%i %*c %c %*c", &ID, &Name, &Gender, &Department);
if(feof(rec))
break;
PLEASE indent consistently.
else if(Target==ID)
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender, Department);
else
{
Found=1;
printf("\n Record Found! Please re-enter details for the
employee ::%s::", Name);
Strange that you should claim the record is found here when this else
will only execute when the previous if is false which means that
Target does NOT match ID.

/*Modify employee details*/
gotoxy(1,15);
printf("\n Employee details edit ");
do
{
gotoxy(1, 22);
printf(" Name : ");
gotoxy(10, 22);
fflush(stdin);
scanf("%s",&Name);
printf(" Gender : ");
fflush(stdin);
scanf("%s",&Gender);
printf("Please enter the department for this employee, [0]
Administration [1] Management [2] Accounting [3] Others", empty, empty,
empty, empty);
Four arguments after the format string and not a single format
specification within the string. What was your intent here? Did you
really want everything on one line?
fflush(stdin);
scanf("%d",&selection);
if(selection==0 ){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
What do you think printing empty accomplishes?
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==1){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==2){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
else if(selection==3){
printf("\n Your selection is %s\n\n%s%s\n ",
Department[selection], empty, empty);
fprintf(temp, "%i %*c %c %*c", ID, Name, Gender,
Department[selection]);
}
Is there some reason you repeat the same block of code four times?
Wouldn't it be easier to check for a value between 0 and 3 and use one
block of code?
else
printf("\n\n INVALID CHOICE! PLEASE Re-Enter.\a");
} while(selection < 0 || selection > 3);
}

}
if(!Found)
printf("\n RECORD CANNOT BE FOUND!\n");
add_record();
}
fclose(rec);
fclose(temp);
remove("record.txt");
rename("temp.txt", "record.txt");
getch();
clrscr();
menu();
More unintended recursion?
}


/*Function 1b adding employee*/

void add_record(){
int ID;
int selection;
FILE *rec, *temp;

if ((rec=fopen("record.txt","a+"))==NULL)
ID = 1;
else
{
do{
fscanf(rec, "%i %*c %c %*c", &ID, &Name, &Gender, &Department);
}while(!feof(rec));
ID += 1;
}

do {
gotoxy(2, 15);
printf("\n\n 0) %s\n 1) %s\n 2) %s\n 3) %s\n\n [Enter Department for
this new employee]: ", Department[0], Department[1], Department[2],
Department[3]);
fflush(stdin);
scanf("%d", &selection);
if((selection != 0) && (selection != 1) && (selection !=2) &&
(selection !=3)) {gotoxy(1, 24); printf(" >>invalid Department<<
Retry!\a");}
} while((selection != 0) && (selection != 1) && (selection !=2) &&
(selection !=3));
clrscr();
printf("The new ID for this employee: %04i", ID);
printf("\n Employee Name : \n");
PLEASE PLEASE indent consistently.
fflush(stdin);
fgets(Name, 49, stdin);
Why 49? Name is sized as 50.
printf("\n Employee Gender: \n");
scanf("%c", &Gender);
printf("\nThe New Employee Record have successfully Saved!");
fprintf(rec, "%i %[^/]%*c %c %c", ID, Name, Gender,
Department);
printf("\n Employee Status Stored!");
fclose(rec);

}


<<Remove the del for email>>
Nov 14 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Martin Magnusson | last post by:
I'm getting segmentation faults when trying to fix a memory leak in my program. The problem is related to lists of pointers which get passed around between objects. Here is a description of how...
3
by: John Cho | last post by:
/* This program is a database program that will store video tape names, minutes, year released, and price I want it to be professional so that *YOU* will want to buy it and use it for a video...
1
by: Brett Romero | last post by:
Is there a way to have a file delete from Visual Source Safe if I exclude (not delete) it from a Visual Studio project? I'd like what ever is in the project to be reflected in VSS. I'm using...
4
memoman
by: memoman | last post by:
Can any body help me in that program ??? mail me if anybody could reach any -helpfull- thing Write a C++ program that namely insert, delete, and search in a fixed record length file (containing...
9
by: hrreece | last post by:
I have an Access 2002 database that has a form that can be used to review individual records. At the bottom of the form are buttons that are linked to functions that allow the user to "Find a record...
4
by: mark4asp | last post by:
I want to write a xslt template to create a xhtml 1.0 (transitional) file which will be sent in as email. Here is a typical xml data file: <BatchEmail> <Domain>www.myDomain.com</Domain>...
13
by: syedadil | last post by:
Hi . I dont know how to remove Recycler virus from XP SP2 . i delete it through Unlocker software but it regenerates itself in al the folders in C:\ as well as other drives. Any solution or...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.